bump Docker container tags to 2019-11-22

This commit is contained in:
TSC21 2019-11-23 18:00:05 +00:00 committed by Nuno Marques
parent 2e9a4d89ee
commit 3ea62ff53b
9 changed files with 156 additions and 52 deletions

View File

@ -8,7 +8,7 @@ pipeline {
stage('Build') {
agent {
docker {
image 'px4io/px4-dev-ros-melodic:2019-10-24'
image 'px4io/px4-dev-ros-melodic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
@ -130,7 +130,7 @@ def createTestNode(Map test_def) {
return {
node {
cleanWs()
docker.image("px4io/px4-dev-ros-melodic:2019-10-24").inside('-e HOME=${WORKSPACE}') {
docker.image("px4io/px4-dev-ros-melodic:2019-11-22").inside('-e HOME=${WORKSPACE}') {
stage(test_def.name) {
def run_script = test_def.get('run_script', 'rostest_px4_run.sh')
def test_ok = true

View File

@ -8,7 +8,7 @@ pipeline {
stage('Build') {
agent {
docker {
image 'px4io/px4-dev-ros-melodic:2019-10-24'
image 'px4io/px4-dev-ros-melodic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
@ -131,7 +131,7 @@ def createTestNode(Map test_def) {
return {
node {
cleanWs()
docker.image("px4io/px4-dev-ros-melodic:2019-10-24").inside('-e HOME=${WORKSPACE}') {
docker.image("px4io/px4-dev-ros-melodic:2019-11-22").inside('-e HOME=${WORKSPACE}') {
stage(test_def.name) {
def run_script = test_def.get('run_script', 'rostest_px4_run.sh')
def test_ok = true

View File

@ -79,7 +79,7 @@ pipeline {
stage('code coverage (python)') {
agent {
docker {
image 'px4io/px4-dev-base-bionic:2019-10-24'
image 'px4io/px4-dev-base-bionic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -99,7 +99,7 @@ pipeline {
stage('unit tests') {
agent {
docker {
image 'px4io/px4-dev-base-bionic:2019-10-24'
image 'px4io/px4-dev-base-bionic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -137,7 +137,7 @@ def createTestNode(Map test_def) {
return {
node {
cleanWs()
docker.image("px4io/px4-dev-ros-melodic:2019-10-24").inside('-e HOME=${WORKSPACE}') {
docker.image("px4io/px4-dev-ros-melodic:2019-11-22").inside('-e HOME=${WORKSPACE}') {
stage(test_def.name) {
def test_ok = true
sh('export')

View File

@ -9,9 +9,9 @@ pipeline {
script {
def build_nodes = [:]
def docker_images = [
armhf: "px4io/px4-dev-armhf:2019-10-24",
base: "px4io/px4-dev-base-bionic:2019-10-24",
nuttx: "px4io/px4-dev-nuttx:2019-10-24",
armhf: "px4io/px4-dev-armhf:2019-11-22",
base: "px4io/px4-dev-base-bionic:2019-11-22",
nuttx: "px4io/px4-dev-nuttx:2019-11-22",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2018-09-12"
]
@ -70,7 +70,7 @@ pipeline {
// TODO: actually upload artifacts to S3
// stage('S3 Upload') {
// agent {
// docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
// docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
// }
// options {
// skipDefaultCheckout()

View File

@ -12,7 +12,7 @@ pipeline {
stage("build px4_fmu-v2_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -76,7 +76,7 @@ pipeline {
stage("build px4_fmu-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -149,7 +149,7 @@ pipeline {
stage("build px4_fmu-v4_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -222,7 +222,7 @@ pipeline {
stage("build px4_fmu-v4pro_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -295,7 +295,7 @@ pipeline {
stage("build px4_fmu-v5_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -350,6 +350,110 @@ pipeline {
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*`'
}
}
stage("stop modules") {
steps {
// manually stop everything
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ekf2 stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "navigator stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dataman stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "fmu stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io stop"'
}
}
stage("reset") {
steps {
// ensure buzzer is disabled for the next test
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set LED_RGB_MAXBRT 0"' // disable rgbled
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set LED_RGB1_MAXBRT 0"' // disable rgbled_ncp5623c
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 0"' // no airframe
}
}
}
options {
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
}
stage("px4_fmu-v5x_default") {
stages {
stage("build px4_fmu-v5x_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
sh 'export'
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v5x_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/px4_fmu-v5x_default/px4_fmu-v5x_default.elf', name: 'px4_fmu-v5x_default'
}
post {
always {
sh 'make distclean'
}
}
} // stage build
stage("test") {
agent {
label 'px4_fmu-v5x'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5x_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5x_default/px4_fmu-v5x_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-SEGGER_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set LED_RGB_MAXBRT 0"' // disable rgbled
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set LED_RGB1_MAXBRT 0"' // disable rgbled_ncp5623c
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SYS_AUTOSTART 13000"' // generic vtol standardulticopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "reboot"' // reboot to apply
}
}
stage("status") {
steps {
statusSEGGER()
}
}
stage("tests") {
steps {
// run tests
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-SEGGER_*`'
}
}
stage("stop modules") {
steps {
// manually stop everything
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ekf2 stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "navigator stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dataman stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "fmu stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "px4io stop"'
}
}
stage("reset") {
steps {
cleanupFTDI();
@ -368,7 +472,7 @@ pipeline {
stage("build modalai_fc-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -441,7 +545,7 @@ pipeline {
stage("build holybro_durandal-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -515,7 +619,7 @@ pipeline {
stage("build holybro_durandal-v1_stackcheck") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -602,7 +706,7 @@ pipeline {
stage("build nxp_fmuk66-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}

View File

@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: px4io/px4-dev-nuttx:2019-10-24
- image: px4io/px4-dev-nuttx:2019-11-22
steps:
- checkout
- run:

View File

@ -5,7 +5,7 @@ on: [push]
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-bionic:2019-10-24
container: px4io/px4-dev-base-bionic:2019-11-22
steps:
- uses: actions/checkout@v1
with:

50
Jenkinsfile vendored
View File

@ -11,7 +11,7 @@ pipeline {
stage('Catkin build on ROS workspace') {
agent {
docker {
image 'px4io/px4-dev-ros-melodic:2019-10-24'
image 'px4io/px4-dev-ros-melodic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
@ -51,7 +51,7 @@ pipeline {
stage('Colcon build on ROS2 workspace') {
agent {
docker {
image 'px4io/px4-dev-ros2-dashing:2019-10-24'
image 'px4io/px4-dev-ros2-dashing:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
@ -82,7 +82,7 @@ pipeline {
stage('Style check') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh 'make check_format'
@ -129,7 +129,7 @@ pipeline {
stage('px4_fmu-v2 (bloaty)') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -161,7 +161,7 @@ pipeline {
stage('px4_fmu-v5 (bloaty)') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -193,7 +193,7 @@ pipeline {
stage('px4_sitl (bloaty)') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -225,7 +225,7 @@ pipeline {
stage('px4_fmu-v5 (no ninja)') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -251,7 +251,7 @@ pipeline {
stage('px4_sitl (no ninja)') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -277,7 +277,7 @@ pipeline {
stage('SITL unit tests') {
agent {
docker {
image 'px4io/px4-dev-base-bionic:2019-10-24'
image 'px4io/px4-dev-base-bionic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -317,7 +317,7 @@ pipeline {
stage('Clang analyzer') {
agent {
docker {
image 'px4io/px4-dev-clang:2019-10-24'
image 'px4io/px4-dev-clang:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -355,7 +355,7 @@ pipeline {
stage('Clang tidy') {
agent {
docker {
image 'px4io/px4-dev-clang:2019-10-24'
image 'px4io/px4-dev-clang:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -377,7 +377,7 @@ pipeline {
stage('Cppcheck') {
agent {
docker {
image 'px4io/px4-dev-base-bionic:2019-10-24'
image 'px4io/px4-dev-base-bionic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -415,7 +415,7 @@ pipeline {
stage('Check stack') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -435,7 +435,7 @@ pipeline {
stage('ShellCheck') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -454,7 +454,7 @@ pipeline {
stage('Module config validation') {
agent {
docker {
image 'px4io/px4-dev-base-bionic:2019-10-24'
image 'px4io/px4-dev-base-bionic:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -479,7 +479,7 @@ pipeline {
stage('Airframe') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh 'make distclean'
@ -498,7 +498,7 @@ pipeline {
stage('Parameter') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh 'make distclean'
@ -517,7 +517,7 @@ pipeline {
stage('Module') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh 'make distclean'
@ -537,7 +537,7 @@ pipeline {
stage('uORB graphs') {
agent {
docker {
image 'px4io/px4-dev-nuttx:2019-10-24'
image 'px4io/px4-dev-nuttx:2019-11-22'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@ -566,7 +566,7 @@ pipeline {
stage('Devguide') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')
@ -596,7 +596,7 @@ pipeline {
stage('Userguide') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')
@ -624,7 +624,7 @@ pipeline {
stage('QGroundControl') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')
@ -652,7 +652,7 @@ pipeline {
stage('PX4 ROS msgs') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')
@ -681,7 +681,7 @@ pipeline {
stage('PX4 ROS2 bridge') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')
@ -722,7 +722,7 @@ pipeline {
stage('S3') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2019-10-24' }
docker { image 'px4io/px4-dev-base-bionic:2019-11-22' }
}
steps {
sh('export')

View File

@ -4,19 +4,19 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then
echo "guessing PX4_DOCKER_REPO based on input";
if [[ $@ =~ .*px4_fmu.* ]]; then
# nuttx-px4fmu-v{1,2,3,4,5}
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2019-10-24"
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2019-11-22"
elif [[ $@ =~ .*ocpoc.* ]] || [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*beaglebone.* ]]; then
# aerotenna_ocpoc_default, beaglebone_blue_default, emlid_navio2_default, px4_raspberrypi_default
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2019-10-24"
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2019-11-22"
elif [[ $@ =~ .*eagle.* ]] || [[ $@ =~ .*excelsior.* ]]; then
# eagle, excelsior
PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2018-09-12"
elif [[ $@ =~ .*clang.* ]] || [[ $@ =~ .*scan-build.* ]]; then
# clang tools
PX4_DOCKER_REPO="px4io/px4-dev-clang:2019-10-24"
PX4_DOCKER_REPO="px4io/px4-dev-clang:2019-11-22"
elif [[ $@ =~ .*tests* ]]; then
# run all tests with simulation
PX4_DOCKER_REPO="px4io/px4-dev-simulation-bionic:2019-10-24"
PX4_DOCKER_REPO="px4io/px4-dev-simulation-bionic:2019-11-22"
fi
else
echo "PX4_DOCKER_REPO is set to '$PX4_DOCKER_REPO'";
@ -24,7 +24,7 @@ fi
# otherwise default to nuttx
if [ -z ${PX4_DOCKER_REPO+x} ]; then
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2019-10-24"
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2019-11-22"
fi
# docker hygiene