@ -3,8 +3,10 @@ on: [push, pull_request]
env:
env:
RUN : docker run --shm-size 1G --rm tmppilot /bin/sh -c
RUN : docker run --shm-size 1G --rm tmppilot /bin/sh -c
PERSIST : docker run --shm-size 1G --name tmppilot tmppilot /bin/sh -c
LOAD : docker load -i tmppilot.tar.gz/tmppilot.tar.gz
LOAD : docker load -i tmppilot.tar.gz/tmppilot.tar.gz
UNIT_TEST : cd /tmp/openpilot && python -m unittest discover
CI_RUN : docker run -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID --rm tmppilotci /bin/bash -c
UNIT_TEST : coverage run --append -m unittest discover
jobs:
jobs:
build:
build:
@ -72,16 +74,21 @@ jobs:
run : $LOAD
run : $LOAD
- name : Run unit tests
- name : Run unit tests
run : |
run : |
$RUN /tmp/openpilot/selfdrive/test/test_fingerprints.py
$PERSIST "cd /tmp/openpilot && \
$RUN "$UNIT_TEST common"
coverage run selfdrive/test/test_fingerprints.py && \
$RUN "$UNIT_TEST opendbc/can"
$UNIT_TEST common && \
$RUN "$UNIT_TEST selfdrive/boardd"
$UNIT_TEST opendbc/can && \
$RUN "$UNIT_TEST selfdrive/controls"
$UNIT_TEST selfdrive/boardd && \
$RUN "$UNIT_TEST selfdrive/loggerd"
$UNIT_TEST selfdrive/controls && \
$RUN "$UNIT_TEST selfdrive/car"
$UNIT_TEST selfdrive/loggerd && \
$RUN "$UNIT_TEST selfdrive/locationd"
$UNIT_TEST selfdrive/car && \
$RUN "$UNIT_TEST selfdrive/athena"
$UNIT_TEST selfdrive/locationd && \
$RUN "$UNIT_TEST tools/lib/tests"
$UNIT_TEST selfdrive/athena && \
$UNIT_TEST tools/lib/tests"
- name : Upload coverage to Codecov
run : |
docker commit tmppilot tmppilotci
$CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F unit_tests"
process_replay:
process_replay:
name : process replay
name : process replay
@ -96,14 +103,15 @@ jobs:
run : $LOAD
run : $LOAD
- name : Run replay
- name : Run replay
run : |
run : |
CONTAINER_NAME="tmppilot_${GITHUB_SHA}"
$PERSIST "cd /tmp/openpilot && CI=1 coverage run selfdrive/test/process_replay/test_processes.py"
docker run --shm-size 1G --name ${CONTAINER_NAME} tmppilot /bin/sh -c "cd /tmp/openpilot/selfdrive/test/process_replay && CI=1 ./test_processes.py"
- name : Upload coverage to Codecov
run : |
docker commit tmppilot tmppilotci
$CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F process_replay"
- name : Copy diff
- name : Copy diff
if : always()
if : always()
run : |
run : |
CONTAINER_NAME="tmppilot_${GITHUB_SHA}"
docker cp tmppilot:/tmp/openpilot/selfdrive/test/process_replay/diff.txt diff.txt
docker cp $CONTAINER_NAME:/tmp/openpilot/selfdrive/test/process_replay/diff.txt diff.txt
docker rm $CONTAINER_NAME
- name : Print diff
- name : Print diff
if : always()
if : always()
run : cat diff.txt
run : cat diff.txt
@ -126,15 +134,12 @@ jobs:
run : $LOAD
run : $LOAD
- name : Test longitudinal
- name : Test longitudinal
run : |
run : |
CONTAINER_NAME="tmppilot_${GITHUB_SHA}"
$PERSIST "cd /tmp/openpilot/selfdrive/test/longitudinal_maneuvers && OPTEST=1 ./test_longitudinal.py"
docker run --shm-size 1G --name ${CONTAINER_NAME} tmppilot /bin/sh -c "cd /tmp/openpilot/selfdrive/test/longitudinal_maneuvers && OPTEST=1 ./test_longitudinal.py"
- name : Copy artifacts
- name : Copy artifacts
if : always()
if : always()
run : |
run : |
CONTAINER_NAME="tmppilot_${GITHUB_SHA}"
mkdir out
mkdir out
docker cp $CONTAINER_NAME:/tmp/openpilot/selfdrive/test/longitudinal_maneuvers/out/longitudinal/ out/
docker cp tmppilot:/tmp/openpilot/selfdrive/test/longitudinal_maneuvers/out/longitudinal/ out/
docker rm $CONTAINER_NAME
- uses : actions/upload-artifact@v1
- uses : actions/upload-artifact@v1
if : always()
if : always()
with:
with:
@ -153,4 +158,10 @@ jobs:
- name : Load image
- name : Load image
run : $LOAD
run : $LOAD
- name : Test car models
- name : Test car models
run : $RUN "mkdir -p /data/params && cd /tmp/openpilot/selfdrive/test/ && ./test_car_models.py"
run : |
$PERSIST "mkdir -p /data/params && cd /tmp/openpilot && coverage run --parallel-mode --concurrency=multiprocessing --rcfile=./.coveragerc-app selfdrive/test/test_car_models.py && coverage combine"
- name : Upload coverage to Codecov
run : |
docker commit tmppilot tmppilotci
$CI_RUN "cd /tmp/openpilot && bash <(curl -s https://codecov.io/bash) -Z -F test_car_models"