You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.5 KiB
138 lines
4.5 KiB
pipeline { |
|
agent none |
|
stages { |
|
|
|
stage('Build') { |
|
|
|
parallel { |
|
|
|
stage('px4fmu-v2') { |
|
agent { |
|
docker { |
|
image 'px4io/px4-dev-nuttx:2018-08-05' |
|
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' |
|
} |
|
} |
|
steps { |
|
sh 'export' |
|
sh 'make distclean' |
|
sh 'ccache -z' |
|
sh 'git fetch --tags' |
|
sh 'make nuttx_px4fmu-v2_test' |
|
sh 'make sizes' |
|
sh 'ccache -s' |
|
stash includes: 'build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf', name: 'px4fmu-v2_test' |
|
stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v2' |
|
sh 'make distclean' |
|
} |
|
} |
|
|
|
stage('px4fmu-v4') { |
|
agent { |
|
docker { |
|
image 'px4io/px4-dev-nuttx:2018-08-05' |
|
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' |
|
} |
|
} |
|
steps { |
|
sh 'export' |
|
sh 'make distclean' |
|
sh 'ccache -z' |
|
sh 'git fetch --tags' |
|
sh 'make nuttx_px4fmu-v4_default' |
|
sh 'make sizes' |
|
sh 'ccache -s' |
|
stash includes: 'build/nuttx_px4fmu-v4_default/nuttx_px4fmu-v4_default.elf', name: 'px4fmu-v4_default' |
|
stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v4' |
|
sh 'make distclean' |
|
} |
|
} |
|
|
|
} // parallel |
|
} // stage Build |
|
|
|
stage('Flash and Run') { |
|
|
|
parallel { |
|
|
|
stage('px4fmu-v2') { |
|
agent { |
|
label 'px4fmu-v2' |
|
} |
|
steps { |
|
script { |
|
try { |
|
sh 'export' |
|
sh 'find /dev/serial' |
|
unstash 'scripts-px4fmu-v2' |
|
unstash 'px4fmu-v2_test' |
|
sh ''' gdb -nx --batch \ |
|
-ex "target extended-remote `find /dev/serial -name *Black_Magic_Probe_*-if00`" \ |
|
-ex "monitor version" \ |
|
-ex "monitor connect_srst enable" \ |
|
-ex "monitor swdp_scan" \ |
|
-ex "attach 1" \ |
|
-ex "load" \ |
|
-ex "kill" \ |
|
build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf |
|
''' |
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600' |
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`' |
|
} catch (Exception err) { |
|
// always report passed for now |
|
currentBuild.result = 'SUCCESS' |
|
} |
|
} // script |
|
} |
|
options { |
|
timeout(time: 300, unit: 'SECONDS') |
|
} |
|
} |
|
|
|
stage('px4fmu-v4') { |
|
agent { |
|
label 'px4fmu-v4' |
|
} |
|
steps { |
|
script { |
|
try { |
|
sh 'export' |
|
sh 'find /dev/serial' |
|
unstash 'scripts-px4fmu-v4' |
|
unstash 'px4fmu-v4_default' |
|
sh ''' gdb -nx --batch \ |
|
-ex "target extended-remote `find /dev/serial -name *Black_Magic_Probe_*-if00`" \ |
|
-ex "monitor version" \ |
|
-ex "monitor connect_srst enable" \ |
|
-ex "monitor swdp_scan" \ |
|
-ex "attach 1" \ |
|
-ex "load" \ |
|
-ex "kill" \ |
|
build/nuttx_px4fmu-v4_default/nuttx_px4fmu-v4_default.elf |
|
''' |
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600' |
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`' |
|
} catch (Exception err) { |
|
// always report passed for now |
|
currentBuild.result = 'SUCCESS' |
|
} |
|
} // script |
|
} |
|
options { |
|
timeout(time: 300, unit: 'SECONDS') |
|
} |
|
} |
|
|
|
} // parallel |
|
} // stage Flash |
|
|
|
} // stages |
|
environment { |
|
CCACHE_DIR = '/tmp/ccache' |
|
CI = true |
|
} |
|
options { |
|
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '30')) |
|
timeout(time: 60, unit: 'MINUTES') |
|
} |
|
}
|
|
|