commit
22da088692
257 changed files with 3137 additions and 2597 deletions
@ -1,70 +1,26 @@ |
|||||||
FROM ubuntu:20.04 |
FROM ubuntu:20.04 |
||||||
|
|
||||||
ENV PYTHONUNBUFFERED 1 |
ENV PYTHONUNBUFFERED 1 |
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive |
ENV DEBIAN_FRONTEND=noninteractive |
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \ |
RUN apt-get update && \ |
||||||
autoconf \ |
apt-get install -y --no-install-recommends sudo tzdata locales && \ |
||||||
build-essential \ |
rm -rf /var/lib/apt/lists/* |
||||||
bzip2 \ |
|
||||||
ca-certificates \ |
|
||||||
capnproto \ |
|
||||||
clang \ |
|
||||||
cmake \ |
|
||||||
cppcheck \ |
|
||||||
curl \ |
|
||||||
ffmpeg \ |
|
||||||
gcc-arm-none-eabi \ |
|
||||||
git \ |
|
||||||
iputils-ping \ |
|
||||||
libarchive-dev \ |
|
||||||
libbz2-dev \ |
|
||||||
libcapnp-dev \ |
|
||||||
libcurl4-openssl-dev \ |
|
||||||
libeigen3-dev \ |
|
||||||
libffi-dev \ |
|
||||||
libgles2-mesa-dev \ |
|
||||||
libglew-dev \ |
|
||||||
libglib2.0-0 \ |
|
||||||
liblzma-dev \ |
|
||||||
libomp-dev \ |
|
||||||
libopencv-dev \ |
|
||||||
libqt5sql5-sqlite \ |
|
||||||
libqt5svg5-dev \ |
|
||||||
libsqlite3-dev \ |
|
||||||
libssl-dev \ |
|
||||||
libsystemd-dev \ |
|
||||||
libusb-1.0-0-dev \ |
|
||||||
libzmq3-dev \ |
|
||||||
locales \ |
|
||||||
ocl-icd-libopencl1 \ |
|
||||||
ocl-icd-opencl-dev \ |
|
||||||
opencl-headers \ |
|
||||||
python-dev \ |
|
||||||
qml-module-qtquick2 \ |
|
||||||
qt5-default \ |
|
||||||
qtlocation5-dev \ |
|
||||||
qtmultimedia5-dev \ |
|
||||||
qtpositioning5-dev \ |
|
||||||
qtwebengine5-dev \ |
|
||||||
sudo \ |
|
||||||
valgrind \ |
|
||||||
wget \ |
|
||||||
&& rm -rf /var/lib/apt/lists/* |
|
||||||
|
|
||||||
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen |
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen |
||||||
ENV LANG en_US.UTF-8 |
ENV LANG en_US.UTF-8 |
||||||
ENV LANGUAGE en_US:en |
ENV LANGUAGE en_US:en |
||||||
ENV LC_ALL en_US.UTF-8 |
ENV LC_ALL en_US.UTF-8 |
||||||
|
|
||||||
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash |
ENV PIPENV_SYSTEM=1 |
||||||
ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}" |
COPY Pipfile Pipfile.lock .python-version update_requirements.sh /tmp/ |
||||||
|
COPY tools/ubuntu_setup.sh /tmp/tools/ |
||||||
COPY Pipfile Pipfile.lock /tmp/ |
RUN cd /tmp && \ |
||||||
RUN pyenv install 3.8.10 && \ |
tools/ubuntu_setup.sh && \ |
||||||
pyenv global 3.8.10 && \ |
rm -rf /tmp/* && \ |
||||||
pyenv rehash && \ |
rm -rf /var/lib/apt/lists/* && \ |
||||||
pip install --no-cache-dir --upgrade pip==21.3.1 && \ |
|
||||||
pip install --no-cache-dir pipenv==2021.5.29 && \ |
|
||||||
cd /tmp && \ |
|
||||||
pipenv install --system --deploy --dev --clear && \ |
|
||||||
pip uninstall -y pipenv |
pip uninstall -y pipenv |
||||||
|
|
||||||
|
ENV PYENV_VERSION=3.8.10 |
||||||
|
ENV PYENV_ROOT="/root/.pyenv" |
||||||
|
ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH" |
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@ |
|||||||
Subproject commit e5a04ab458afd52cf630cc9e35ccdc10efba6688 |
Subproject commit e83ec3be7d83b8d4ce227e7c2027dd1ca5f930b4 |
@ -1,46 +1,48 @@ |
|||||||
# How to contribute |
# How to contribute |
||||||
|
|
||||||
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. |
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/). |
||||||
|
|
||||||
Most open source development activity is coordinated through our [GitHub Discussions](https://github.com/commaai/openpilot/discussions) and [Discord](https://discord.comma.ai). A lot of documentation is available on our [blog](https://blog.comma.ai/). |
Most open source development activity is coordinated through our [GitHub Discussions](https://github.com/commaai/openpilot/discussions) and [Discord](https://discord.comma.ai). A lot of documentation is available at https://docs.comma.ai and on our [blog](https://blog.comma.ai/). |
||||||
|
|
||||||
## Getting Started |
### Getting Started |
||||||
|
|
||||||
* Setup your [development environment](../tools/) |
* Setup your [development environment](../tools/) |
||||||
* Join our [Discord](https://discord.comma.ai) |
* Join our [Discord](https://discord.comma.ai) |
||||||
* Make sure you have a [GitHub account](https://github.com/signup/free) |
* Make sure you have a [GitHub account](https://github.com/signup/free) |
||||||
* Fork [our repositories](https://github.com/commaai) on GitHub |
* Fork [our repositories](https://github.com/commaai) on GitHub |
||||||
|
|
||||||
## Testing |
### First contribution |
||||||
|
Try out some of these first pull requests ideas to dive into the codebase: |
||||||
|
|
||||||
### Automated Testing |
* Increase our [mypy](http://mypy-lang.org/) coverage |
||||||
|
* Write some documentation |
||||||
|
* Tackle an open [good first issue](https://github.com/commaai/openpilot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) |
||||||
|
|
||||||
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. |
## Pull Requests |
||||||
|
|
||||||
### Code Style and Linting |
Pull requests should be against the master branch. Welcomed contributions include bug reports, car ports, and any [open issue](https://github.com/commaai/openpilot/issues). If you're unsure about a contribution, feel free to open a discussion, issue, or draft PR to discuss the problem you're trying to solve. |
||||||
|
|
||||||
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`. |
A good pull request has all of the following: |
||||||
|
* a clearly stated purpose |
||||||
|
* every line changed directly contributes to the stated purpose |
||||||
|
* verification, i.e. how did you test your PR? |
||||||
|
* justification |
||||||
|
* if you've optimized something, post benchmarks to prove it's better |
||||||
|
* if you've improved your car's tuning, post before and after plots |
||||||
|
* passes the CI tests |
||||||
|
|
||||||
## Car Ports |
### Car Ports |
||||||
|
|
||||||
We've released a [Model Port guide](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) for porting to Toyota/Lexus models. |
We've released a [Model Port guide](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) for porting to Toyota/Lexus models. |
||||||
|
|
||||||
If you port openpilot to a substantially new car brand, see this more generic [Brand Port guide](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/). |
If you port openpilot to a substantially new car brand, see this more generic [Brand Port guide](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/). |
||||||
|
|
||||||
## Pull Requests |
## Testing |
||||||
|
|
||||||
Pull requests should be against the master branch. Before running master on in-car hardware, you'll need to clone the submodules too. That can be done by recursively cloning the repository: |
### Automated Testing |
||||||
``` |
|
||||||
git clone https://github.com/commaai/openpilot.git --recursive |
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. |
||||||
``` |
|
||||||
Or alternatively, when on the master branch: |
### Code Style and Linting |
||||||
``` |
|
||||||
git submodule update --init |
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`. |
||||||
``` |
|
||||||
The reasons for having submodules on a dedicated repository and our new development philosophy can be found in our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/). |
|
||||||
Modules that are in seperate repositories include: |
|
||||||
* cereal |
|
||||||
* laika |
|
||||||
* opendbc |
|
||||||
* panda |
|
||||||
* rednose |
|
||||||
|
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,2 @@ |
|||||||
|
User-agent: * |
||||||
|
Sitemap: https://docs.comma.ai/sitemap.xml |
@ -1 +1 @@ |
|||||||
Subproject commit 61534fd13162d714432c5685f2c59fafe7a96823 |
Subproject commit 2bab99fd861786312bde676823e21d80eeeb01fa |
@ -1 +1 @@ |
|||||||
Subproject commit 652367d2e82f21f996c2217857d20ea05567ad62 |
Subproject commit 79f5e6fe860d4f84876f08ddeea00eb6361cb05d |
@ -1 +1 @@ |
|||||||
#define COMMA_VERSION "0.8.12" |
#define COMMA_VERSION "0.8.13" |
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue