You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.1 KiB
						
					
					
				# openpilot development workflow
 | 
						|
 | 
						|
Aside from the ML models, most tools used for openpilot development are in this repo.
 | 
						|
 | 
						|
Most development happens on normal Ubuntu workstations, and not in cars or directly on comma devices. See the [setup guide](../tools) for getting your PC setup for openpilot development.
 | 
						|
 | 
						|
## Quick start
 | 
						|
 | 
						|
```bash
 | 
						|
# get the latest stuff
 | 
						|
git pull
 | 
						|
git submodule update --init --recursive
 | 
						|
 | 
						|
# update dependencies
 | 
						|
tools/ubuntu_setup.sh
 | 
						|
 | 
						|
# build everything
 | 
						|
scons -j$(nproc)
 | 
						|
 | 
						|
# build just the ui with either of these
 | 
						|
scons -j8 selfdrive/ui/
 | 
						|
cd selfdrive/ui/ && scons -u -j8
 | 
						|
 | 
						|
# test everything
 | 
						|
pytest .
 | 
						|
 | 
						|
# test just logging services
 | 
						|
cd system/loggerd && pytest .
 | 
						|
 | 
						|
# run the linter
 | 
						|
pre-commit run --all
 | 
						|
```
 | 
						|
 | 
						|
## Testing
 | 
						|
 | 
						|
### Automated Testing
 | 
						|
 | 
						|
All PRs and commits are automatically checked by GitHub Actions. Check out `.github/workflows/` for what GitHub Actions runs. Any new tests should be added to GitHub Actions.
 | 
						|
 | 
						|
### Code Style and Linting
 | 
						|
 | 
						|
Code is automatically checked for style by GitHub Actions as part of the automated tests. You can also run these tests yourself by running `pre-commit run --all`.
 | 
						|
 |