Devcontainer (#29259)
* mvp devcontainer. builds, runs and UI works
* fix indentation
* enable color and fix openpilot_env path
* separate dockerfile for devcontainer
* use prebuilt image
* Fix openpilot_env setup
* Add dev container section in readme
* Fix typo
* Fix typo again
* Move dev dockerfile to .devcontainer dir
* Update README
* Add note about x11 forwarding on macos
* Update dev container json
* Fix typo
* Override DISPLAY on macOS
* Mention XAUTHORITY for macOS setup in README
* fix typo
* Add devcontainer CI test
* Rename to devcontainer
* Fix git issues
* ripgrep
* Link instead of vscode manual
* Replace raw path with containerWorkspaceFolder
* Fix typo
* Remove dev tools workflow
* Link away X11 forwarding setup isntructions for mac
* Remove fork consrtaint, add test run of scons
* Add submodules as safe.directories in postStartCommand
* Remove openpilot_env references
* Add scons cache volume
---------
Co-authored-by: Robbe Derks <robbe@localhost.localdomain>
Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
old-commit-hash: d71a7190f1
beeps
parent
b38403f2ca
commit
a04cbced36
4 changed files with 55 additions and 1 deletions
@ -0,0 +1,6 @@ |
||||
FROM ghcr.io/commaai/openpilot-base:latest |
||||
|
||||
# remove gitconfig if exists, since its gonna be replaced by host one |
||||
RUN rm -f /root/.gitconfig |
||||
RUN apt update && apt install -y vim net-tools usbutils htop ripgrep |
||||
RUN pip install ipython jupyter jupyterlab |
@ -0,0 +1,22 @@ |
||||
{ |
||||
"name": "openpilot devcontainer", |
||||
"build": { |
||||
"dockerfile": "Dockerfile" |
||||
}, |
||||
"postCreateCommand": "bash -c 'if [[ $DISPLAY == *xquartz* ]]; then echo \"export DISPLAY=host.docker.internal:0\" >> /root/.bashrc; fi'", |
||||
"postStartCommand": "git config --file .gitmodules --get-regexp path | awk '{ print $2 }' | xargs -I{} git config --global --add safe.directory \"$PWD/{}\"", |
||||
"privileged": true, |
||||
"containerEnv": { |
||||
"DISPLAY": "${localEnv:DISPLAY}", |
||||
"PYTHONPATH": "${containerWorkspaceFolder}", |
||||
"force_color_prompt": "1" |
||||
}, |
||||
"runArgs": [ |
||||
"--volume=/tmp/.X11-unix:/tmp/.X11-unix", |
||||
"--volume=${localEnv:XAUTHORITY}:/root/.Xauthority", |
||||
"--volume=${localEnv:HOME}/.comma:/root/.comma", |
||||
"--volume=/tmp/comma_download_cache:/tmp/comma_download_cache", |
||||
"--volume=/tmp/devcontainer_scons_cache:/tmp/scons_cache", |
||||
"--shm-size=1G" |
||||
] |
||||
} |
Loading…
Reference in new issue