43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
|
# 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`.
|