From 4cbf965165bab44dcf819aaafbd2d99c89994c97 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sat, 12 Sep 2020 14:31:20 -0700 Subject: [PATCH] fix simulator CI (#2159) * pull image for cache * typo * cleanup dockerfile * typo * add pr trigger * colon? --- .github/workflows/sim_tests.yaml | 8 +++--- tools/sim/Dockerfile.sim | 45 ++++++++++++-------------------- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/.github/workflows/sim_tests.yaml b/.github/workflows/sim_tests.yaml index 772c562a..eaf8d335 100644 --- a/.github/workflows/sim_tests.yaml +++ b/.github/workflows/sim_tests.yaml @@ -1,14 +1,14 @@ name: simulator on: - schedule: - - cron: '0 * * * *' + push: + pull_request: jobs: docker_build: name: build container runs-on: ubuntu-16.04 timeout-minutes: 50 - if: github.event_name == 'schedule' && github.repository == 'commaai/openpilot' + if: github.repository == 'commaai/openpilot' steps: - uses: actions/checkout@v2 with: @@ -16,8 +16,10 @@ jobs: lfs: true - name: Docker build run: | + docker pull commaai/openpilot-sim:latest || true tools/sim/build_container.sh - name: Push to dockerhub + if: github.ref == 'refs/heads/master' run: | docker login -u wmelching -p ${{ secrets.COMMA_DOCKERHUB_TOKEN }} docker tag commaai/openpilot-sim docker.io/commaai/openpilot-sim:latest diff --git a/tools/sim/Dockerfile.sim b/tools/sim/Dockerfile.sim index df316034..6ef0cf69 100644 --- a/tools/sim/Dockerfile.sim +++ b/tools/sim/Dockerfile.sim @@ -1,10 +1,5 @@ FROM commaai/openpilot-base:latest -#Carla -COPY ./tools/sim/install_carla.sh /tmp -RUN /tmp/install_carla.sh - -#Intel openCL- run openCL on CPU RUN apt-get update && apt-get install -y \ apt-utils \ unzip \ @@ -15,7 +10,6 @@ RUN apt-get update && apt-get install -y \ beignet-opencl-icd \ alien \ - clinfo \ dbus \ gcc-arm-none-eabi \ tmux \ @@ -30,44 +24,32 @@ RUN apt-get update && apt-get install -y \ libpng16-16 \ && rm -rf /var/lib/apt/lists/* - +# Intel OpenCL driver ARG INTEL_DRIVER=opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz ARG INTEL_DRIVER_URL=http://registrationcenter-download.intel.com/akdlm/irc_nas/9019 RUN mkdir -p /tmp/opencl-driver-intel WORKDIR /tmp/opencl-driver-intel RUN echo INTEL_DRIVER is $INTEL_DRIVER; \ curl -O $INTEL_DRIVER_URL/$INTEL_DRIVER; \ - if echo $INTEL_DRIVER | grep -q "[.]zip$"; then \ - unzip $INTEL_DRIVER; \ - mkdir fakeroot; \ - for f in intel-opencl-*.tar.xz; do tar -C fakeroot -Jxvf $f; done; \ - cp -R fakeroot/* /; \ - ldconfig; \ - else \ - tar -xzf $INTEL_DRIVER; \ - for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done; \ - dpkg -i *.deb; \ - rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb; \ - mkdir -p /etc/OpenCL/vendors; \ - echo /opt/intel/*/lib64/libintelocl.so > /etc/OpenCL/vendors/intel.icd; \ - fi; \ + tar -xzf $INTEL_DRIVER; \ + for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done; \ + dpkg -i *.deb; \ + rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb; \ + mkdir -p /etc/OpenCL/vendors; \ + echo /opt/intel/*/lib64/libintelocl.so > /etc/OpenCL/vendors/intel.icd; \ rm -rf /tmp/opencl-driver-intel; - -#Open[GL,CL] for gpu +# Open[GL,CL] for gpu ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES},display RUN apt-get update && apt-get install -y --no-install-recommends \ - mesa-utils \ - ocl-icd-libopencl1 \ - clinfo && \ - rm -rf /var/lib/apt/lists/* + mesa-utils \ + ocl-icd-libopencl1 \ + && rm -rf /var/lib/apt/lists/* RUN mkdir -p /etc/OpenCL/vendors && \ echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,display -#Python -ENV PYTHONPATH $HOME/openpilot:${PYTHONPATH} RUN dbus-uuidgen > /etc/machine-id # we can apt-get after moving to a newer ubuntu @@ -80,10 +62,15 @@ RUN git clone --branch="0.1.1" https://github.com/NVIDIA/libglvnd.git . && \ ENV LD_LIBRARY_PATH /usr/local/lib/x86_64-linux-gnu:/usr/local/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +# CARLA python api +COPY ./tools/sim/install_carla.sh /tmp +RUN /tmp/install_carla.sh + # get same tmux config used on NEOS for debugging RUN cd $HOME && \ wget https://raw.githubusercontent.com/commaai/eon-neos-builder/master/devices/eon/home/.tmux.conf +ENV PYTHONPATH $HOME/openpilot:${PYTHONPATH} RUN mkdir -p $HOME/openpilot COPY SConstruct $HOME/openpilot/