Daniel Agar
7 years ago
committed by
GitHub
2 changed files with 138 additions and 70 deletions
@ -0,0 +1,138 @@ |
|||||||
|
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') |
||||||
|
} |
||||||
|
} |
@ -1,70 +0,0 @@ |
|||||||
pipeline { |
|
||||||
agent none |
|
||||||
stages { |
|
||||||
|
|
||||||
stage('Build') { |
|
||||||
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' |
|
||||||
sh 'make distclean' |
|
||||||
} |
|
||||||
} // stage Build |
|
||||||
|
|
||||||
stage('Flash and Run') { |
|
||||||
agent { |
|
||||||
label 'px4fmu-v2' |
|
||||||
} |
|
||||||
steps { |
|
||||||
script { |
|
||||||
try { |
|
||||||
sh 'export' |
|
||||||
sh 'find /dev/serial' |
|
||||||
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 |
|
||||||
''' |
|
||||||
unstash 'scripts' |
|
||||||
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 Flash |
|
||||||
|
|
||||||
} // stages |
|
||||||
environment { |
|
||||||
CCACHE_DIR = '/tmp/ccache' |
|
||||||
CI = true |
|
||||||
} |
|
||||||
options { |
|
||||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '30')) |
|
||||||
timeout(time: 60, unit: 'MINUTES') |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue