|
|
|
@ -34,97 +34,100 @@ pipeline { |
|
|
|
|
COMMA_JWT = credentials('athena-test-jwt') |
|
|
|
|
TEST_DIR = "/data/openpilot" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stages { |
|
|
|
|
stage('openpilot tests') { |
|
|
|
|
|
|
|
|
|
stage('PC tests') { |
|
|
|
|
when { |
|
|
|
|
not { |
|
|
|
|
anyOf { |
|
|
|
|
branch 'master-ci'; branch 'devel'; branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging' |
|
|
|
|
branch 'master-ci'; branch 'devel'; branch 'devel-staging'; branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
parallel { |
|
|
|
|
|
|
|
|
|
stage('PC tests') { |
|
|
|
|
agent { |
|
|
|
|
dockerfile { |
|
|
|
|
filename 'Dockerfile.openpilot' |
|
|
|
|
args '--privileged --shm-size=1G --user=root' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stages { |
|
|
|
|
stage('Build') { |
|
|
|
|
steps { |
|
|
|
|
sh 'scons -j$(nproc)' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
post { |
|
|
|
|
always { |
|
|
|
|
// fix permissions since docker runs as another user |
|
|
|
|
sh "chmod -R 777 ." |
|
|
|
|
} |
|
|
|
|
agent { |
|
|
|
|
dockerfile { |
|
|
|
|
filename 'Dockerfile.openpilot' |
|
|
|
|
args '--privileged --shm-size=1G --user=root' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stages { |
|
|
|
|
stage('Build') { |
|
|
|
|
steps { |
|
|
|
|
sh 'scons -j$(nproc)' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
post { |
|
|
|
|
always { |
|
|
|
|
// fix permissions since docker runs as another user |
|
|
|
|
sh "chmod -R 777 ." |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stage('On-device Tests') { |
|
|
|
|
agent { |
|
|
|
|
docker { |
|
|
|
|
image 'python:3.7.3' |
|
|
|
|
args '--user=root' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stages { |
|
|
|
|
|
|
|
|
|
stage('Release Build') { |
|
|
|
|
when { |
|
|
|
|
branch 'devel-staging' |
|
|
|
|
} |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon-build", [ |
|
|
|
|
["build release2-staging and dashcam-staging", "cd release && PUSH=1 ./build_release2.sh"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stage('Release Build') { |
|
|
|
|
when { |
|
|
|
|
branch 'devel-staging' |
|
|
|
|
} |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon-build", [ |
|
|
|
|
["build release2-staging and dashcam-staging", "cd release && PUSH=1 ./build_release2.sh"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stage('Devel Build') { |
|
|
|
|
environment { |
|
|
|
|
CI_PUSH = "${env.BRANCH_NAME == 'master' ? 'master-ci' : ' '}" |
|
|
|
|
} |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon", [ |
|
|
|
|
["build devel", "cd release && CI_PUSH=${env.CI_PUSH} ./build_devel.sh"], |
|
|
|
|
["test openpilot", "nosetests -s selfdrive/test/test_openpilot.py"], |
|
|
|
|
//["test cpu usage", "cd selfdrive/test/ && ./test_cpu_usage.py"], |
|
|
|
|
["test car interfaces", "cd selfdrive/car/tests/ && ./test_car_interfaces.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stage('Replay Tests') { |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon2", [ |
|
|
|
|
["camerad/modeld replay", "cd selfdrive/test/process_replay && ./camera_replay.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stage('On-device Tests') { |
|
|
|
|
when { |
|
|
|
|
not { |
|
|
|
|
anyOf { |
|
|
|
|
branch 'master-ci'; branch 'devel'; branch 'devel-staging'; branch 'release2'; branch 'release2-staging'; branch 'dashcam'; branch 'dashcam-staging' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
agent { |
|
|
|
|
docker { |
|
|
|
|
image 'python:3.7.3' |
|
|
|
|
args '--user=root' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
parallel { |
|
|
|
|
|
|
|
|
|
stage('HW Tests') { |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon", [ |
|
|
|
|
["build cereal", "SCONS_CACHE=1 scons -j4 cereal/"], |
|
|
|
|
["test sounds", "nosetests -s selfdrive/test/test_sounds.py"], |
|
|
|
|
["test boardd loopback", "nosetests -s selfdrive/boardd/tests/test_boardd_loopback.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
stage('Devel Build') { |
|
|
|
|
environment { |
|
|
|
|
CI_PUSH = "${env.BRANCH_NAME == 'master' ? 'master-ci' : ' '}" |
|
|
|
|
} |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon", [ |
|
|
|
|
["build devel", "cd release && CI_PUSH=${env.CI_PUSH} ./build_devel.sh"], |
|
|
|
|
["test openpilot", "nosetests -s selfdrive/test/test_openpilot.py"], |
|
|
|
|
//["test cpu usage", "cd selfdrive/test/ && ./test_cpu_usage.py"], |
|
|
|
|
["test car interfaces", "cd selfdrive/car/tests/ && ./test_car_interfaces.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stage('Replay Tests') { |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon2", [ |
|
|
|
|
["camerad/modeld replay", "cd selfdrive/test/process_replay && ./camera_replay.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stage('HW Tests') { |
|
|
|
|
steps { |
|
|
|
|
phone_steps("eon", [ |
|
|
|
|
["build cereal", "SCONS_CACHE=1 scons -j4 cereal/"], |
|
|
|
|
["test sounds", "nosetests -s selfdrive/test/test_sounds.py"], |
|
|
|
|
["test boardd loopback", "nosetests -s selfdrive/boardd/tests/test_boardd_loopback.py"], |
|
|
|
|
]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|