delete devcontainer (#34181)
* remove * Update tools/README.md Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> --------- Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>pull/34183/head
parent
b94946eaab
commit
7558108221
10 changed files with 1 additions and 250 deletions
@ -1,3 +0,0 @@ |
||||
.Xauthority |
||||
.env |
||||
.host/ |
@ -1,18 +0,0 @@ |
||||
FROM ghcr.io/commaai/openpilot-base:latest |
||||
|
||||
RUN apt update && apt install -y vim net-tools usbutils htop ripgrep tmux wget mesa-utils xvfb libxtst6 libxv1 libglu1-mesa gdb bash-completion |
||||
RUN python3 -m ensurepip --upgrade |
||||
RUN pip3 install ipython jupyter jupyterlab |
||||
|
||||
RUN cd /tmp && \ |
||||
ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \ |
||||
curl -L -o virtualgl.deb "https://github.com/VirtualGL/virtualgl/releases/download/3.1.1/virtualgl_3.1.1_$ARCH.deb" && \ |
||||
dpkg -i virtualgl.deb |
||||
|
||||
RUN usermod -aG video batman |
||||
|
||||
USER batman |
||||
|
||||
RUN cd $HOME && \ |
||||
curl -O https://raw.githubusercontent.com/commaai/agnos-builder/master/userspace/home/.tmux.conf && \ |
||||
curl -O https://raw.githubusercontent.com/commaai/agnos-builder/master/userspace/home/.vimrc |
@ -1,38 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
TARGET_USER=batman |
||||
source .devcontainer/.host/.env |
||||
|
||||
# override display flag for mac hosts |
||||
if [[ $HOST_OS == darwin ]]; then |
||||
echo "Setting up DISPLAY override for macOS..." |
||||
cat <<EOF >> /home/$TARGET_USER/.bashrc |
||||
source .devcontainer/.host/.env |
||||
if [ -n "\$HOST_DISPLAY" ]; then |
||||
DISPLAY_NUM=\$(echo "\$HOST_DISPLAY" | awk -F: '{print \$NF}') |
||||
export DISPLAY=host.docker.internal:\$DISPLAY_NUM |
||||
fi |
||||
EOF |
||||
fi |
||||
|
||||
# setup virtualgl for mac hosts |
||||
if [[ $HOST_OS == darwin ]]; then |
||||
echo "Setting up virtualgl for macOS..." |
||||
cat <<EOF >> /home/$TARGET_USER/.bashrc |
||||
if [ -n "\$HOST_DISPLAY" ]; then |
||||
export VGL_PORT=10000 |
||||
export VGL_CLIENT=host.docker.internal |
||||
export VGL_COMPRESS=rgb |
||||
export VGL_DISPLAY=:99 |
||||
export VGL_FPS=60 |
||||
# prevent vglrun from running exec |
||||
alias exec=:; source vglrun :; unalias exec |
||||
fi |
||||
EOF |
||||
fi |
||||
|
||||
# These lines are temporary, to remain backwards compatible with old devcontainers |
||||
# that were running as root and therefore had their caches written as root |
||||
sudo chown -R $TARGET_USER: /tmp/scons_cache |
||||
sudo chown -R $TARGET_USER: /tmp/comma_download_cache |
||||
sudo chown -R $TARGET_USER: /home/batman/.comma |
@ -1,15 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
source .devcontainer/.host/.env |
||||
|
||||
# setup safe directories for submodules |
||||
SUBMODULE_DIRS=$(git config --file .gitmodules --get-regexp path | awk '{ print $2 }') |
||||
for DIR in $SUBMODULE_DIRS; do |
||||
git config --global --add safe.directory "$PWD/$DIR" |
||||
done |
||||
|
||||
# virtual display for virtualgl |
||||
if [[ "$HOST_OS" == "darwin" ]] && [[ -n "$HOST_DISPLAY" ]]; then |
||||
echo "Starting virtual display at :99 ..." |
||||
tmux new-session -d -s fakedisplay Xvfb :99 -screen 0 1920x1080x24 |
||||
fi |
@ -1,53 +0,0 @@ |
||||
{ |
||||
"name": "openpilot devcontainer", |
||||
"build": { |
||||
"dockerfile": "Dockerfile" |
||||
}, |
||||
"postCreateCommand": ".devcontainer/container_post_create.sh", |
||||
"postStartCommand": ".devcontainer/container_post_start.sh", |
||||
"initializeCommand": [".devcontainer/host_setup"], |
||||
"privileged": true, |
||||
"containerEnv": { |
||||
"DISPLAY": "${localEnv:DISPLAY}", |
||||
"PYTHONPATH": "${containerWorkspaceFolder}", |
||||
"TERM": "xterm-256color", |
||||
"force_color_prompt": "1" |
||||
}, |
||||
"runArgs": [ |
||||
"--volume=/dev:/dev", |
||||
"--volume=/tmp/.X11-unix:/tmp/.X11-unix", |
||||
"--volume=${localWorkspaceFolder}/.devcontainer/.host/.Xauthority:/home/batman/.Xauthority", |
||||
"--volume=${localEnv:HOME}/.comma:/home/batman/.comma", |
||||
"--volume=${localEnv:HOME}/.azure:/home/batman/.azure", |
||||
"--volume=/tmp/comma_download_cache:/tmp/comma_download_cache", |
||||
"--shm-size=1G", |
||||
"--add-host=host.docker.internal:host-gateway", // required to use host.docker.internal on linux |
||||
"--publish=0.0.0.0:8070-8079:8070-8079" // body ZMQ services |
||||
], |
||||
"features": { |
||||
"ghcr.io/devcontainers/features/common-utils:2": { |
||||
"installZsh": false, |
||||
"installOhMyZsh": false, |
||||
"upgradePackages": false, |
||||
"username": "batman" |
||||
}, |
||||
"ghcr.io/devcontainers-contrib/features/gh-cli:1": {}, |
||||
"ghcr.io/devcontainers/features/azure-cli:1": {} |
||||
}, |
||||
"containerUser": "batman", |
||||
"remoteUser": "batman", |
||||
"customizations": { |
||||
"vscode": { |
||||
"extensions": [ |
||||
"ms-python.python", |
||||
"ms-vscode.cpptools", |
||||
"ms-toolsai.jupyter", |
||||
"guyskk.language-cython", |
||||
"lharri73.dbc" |
||||
] |
||||
} |
||||
}, |
||||
"mounts": [ |
||||
"type=volume,source=scons_cache,target=/tmp/scons_cache" |
||||
] |
||||
} |
@ -1,47 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
# pull base image |
||||
if [[ -z $USE_LOCAL_IMAGE ]]; then |
||||
echo "Updating openpilot_base image if needed..." |
||||
docker pull ghcr.io/commaai/openpilot-base:latest |
||||
fi |
||||
|
||||
# setup .host dir |
||||
mkdir -p .devcontainer/.host |
||||
|
||||
# setup links to Xauthority |
||||
XAUTHORITY_LINK=".devcontainer/.host/.Xauthority" |
||||
rm -f $XAUTHORITY_LINK |
||||
if [[ -z $XAUTHORITY ]]; then |
||||
echo "XAUTHORITY not set. Fallback to ~/.Xauthority ..." |
||||
if ! [[ -f $HOME/.Xauthority ]]; then |
||||
echo "~/.XAuthority file does not exist. GUI tools may not work properly." |
||||
touch $XAUTHORITY_LINK # dummy file to satisfy container volume mount |
||||
else |
||||
ln -sf $HOME/.Xauthority $XAUTHORITY_LINK |
||||
fi |
||||
else |
||||
ln -sf $XAUTHORITY $XAUTHORITY_LINK |
||||
fi |
||||
|
||||
# setup host env file |
||||
HOST_INFO_FILE=".devcontainer/.host/.env" |
||||
SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') |
||||
echo "HOST_OS=\"$SYSTEM\"" > $HOST_INFO_FILE |
||||
echo "HOST_DISPLAY=\"$DISPLAY\"" >> $HOST_INFO_FILE |
||||
|
||||
# run virtualgl if macos |
||||
if [[ $SYSTEM == "darwin" ]]; then |
||||
echo |
||||
if [[ -f /opt/VirtualGL/bin/vglclient ]]; then |
||||
echo "Starting VirtualGL client at port 10000..." |
||||
VGL_LOG_FILE=".devcontainer/.host/.vgl/vglclient.log" |
||||
mkdir -p "$(dirname $VGL_LOG_FILE)" |
||||
/opt/VirtualGL/bin/vglclient -l "$VGL_LOG_FILE" -display "$DISPLAY" -port 10000 -detach |
||||
else |
||||
echo "VirtualGL not found. GUI tools may not work properly. Some GUI tools require OpenGL to work properly. To use them with XQuartz on mac, VirtualGL needs to be installed. To install it run:" |
||||
echo |
||||
echo " brew install --cask virtualgl" |
||||
echo |
||||
fi |
||||
fi |
@ -1,10 +0,0 @@ |
||||
:: pull base image |
||||
IF NOT DEFINED USE_LOCAL_IMAGE ^ |
||||
echo "Updating openpilot_base image if needed..." && ^ |
||||
docker pull ghcr.io/commaai/openpilot-base:latest |
||||
|
||||
:: setup .host dir |
||||
mkdir .devcontainer\.host |
||||
|
||||
:: setup host env file |
||||
echo "" > .devcontainer\.host\.env |
@ -1,54 +0,0 @@ |
||||
name: tools |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- master |
||||
pull_request: |
||||
workflow_call: |
||||
inputs: |
||||
run_number: |
||||
default: '1' |
||||
required: true |
||||
type: string |
||||
concurrency: |
||||
group: tools-tests-ci-run-${{ inputs.run_number }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }} |
||||
cancel-in-progress: true |
||||
|
||||
env: |
||||
BASE_IMAGE: openpilot-base |
||||
DOCKER_LOGIN: docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} |
||||
|
||||
BUILD: selfdrive/test/docker_build.sh base |
||||
|
||||
RUN: docker run --shm-size 2G -v $GITHUB_WORKSPACE:/tmp/openpilot -w /tmp/openpilot -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/bash -c |
||||
|
||||
|
||||
jobs: |
||||
devcontainer: |
||||
name: devcontainer |
||||
runs-on: ubuntu-latest |
||||
if: false # we can re-enable once this is faster |
||||
steps: |
||||
- uses: actions/checkout@v4 |
||||
with: |
||||
submodules: true |
||||
- uses: ./.github/workflows/setup-with-retry |
||||
- name: Use local image for testing devcontainer with latest base image |
||||
run: | |
||||
echo "USE_LOCAL_IMAGE=true" >> "$GITHUB_ENV" |
||||
- name: Setup Dev Container CLI |
||||
run: npm install -g @devcontainers/cli |
||||
- name: Build dev container image |
||||
run: ./scripts/retry.sh devcontainer build --workspace-folder . |
||||
- name: Run dev container |
||||
run: | |
||||
mkdir -p /tmp/devcontainer_scons_cache/ |
||||
cp -r $GITHUB_WORKSPACE/.ci_cache/scons_cache/. /tmp/devcontainer_scons_cache/ |
||||
devcontainer up --workspace-folder . |
||||
- name: Test environment |
||||
run: | |
||||
devcontainer exec --workspace-folder . scons -j$(nproc) cereal/ common/ |
||||
devcontainer exec --workspace-folder . pip3 install pip-install-test |
||||
devcontainer exec --workspace-folder . touch /home/batman/.comma/auth.json |
||||
devcontainer exec --workspace-folder . sudo touch /root/test.txt |
Loading…
Reference in new issue