2019-02-26 20:22:16 -04:00
|
|
|
#!/usr/bin/env groovy
|
|
|
|
|
2018-08-17 10:28:51 -03:00
|
|
|
pipeline {
|
|
|
|
agent none
|
|
|
|
stages {
|
|
|
|
|
|
|
|
stage('Build') {
|
|
|
|
|
|
|
|
parallel {
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v2_test') {
|
|
|
|
agent {
|
|
|
|
docker {
|
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
|
|
|
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 px4_fmu-v2_default'
|
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
|
|
|
stash includes: 'build/px4_fmu-v2_default/px4_fmu-v2_default.elf', name: 'px4_fmu-v2_test'
|
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-26 20:22:16 -04:00
|
|
|
stage('px4_fmu-v3_default') {
|
|
|
|
agent {
|
|
|
|
docker {
|
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
|
|
|
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 px4_fmu-v3_default'
|
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
|
|
|
stash includes: 'build/px4_fmu-v3_default/px4_fmu-v3_default.elf', name: 'px4_fmu-v3_default'
|
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-05 21:33:38 -04:00
|
|
|
stage('px4_fmu-v4_default') {
|
2018-08-17 10:28:51 -03:00
|
|
|
agent {
|
|
|
|
docker {
|
2019-02-10 18:33:17 -04:00
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
2018-08-17 10:28:51 -03:00
|
|
|
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
sh 'export'
|
|
|
|
sh 'make distclean'
|
|
|
|
sh 'ccache -z'
|
|
|
|
sh 'git fetch --tags'
|
2019-01-05 21:33:38 -04:00
|
|
|
sh 'make px4_fmu-v4_default'
|
2018-08-17 10:28:51 -03:00
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
2019-01-05 21:33:38 -04:00
|
|
|
stash includes: 'build/px4_fmu-v4_default/px4_fmu-v4_default.elf', name: 'px4_fmu-v4_default'
|
2019-02-26 20:22:16 -04:00
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('px4_fmu-v4pro_default') {
|
|
|
|
agent {
|
|
|
|
docker {
|
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
|
|
|
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 px4_fmu-v4pro_default'
|
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
|
|
|
stash includes: 'build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf', name: 'px4_fmu-v4pro_default'
|
2018-08-25 15:59:33 -03:00
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
2018-08-17 10:28:51 -03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v5_default') {
|
|
|
|
agent {
|
|
|
|
docker {
|
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
|
|
|
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 px4_fmu-v5_default'
|
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
|
|
|
stash includes: 'build/px4_fmu-v5_default/px4_fmu-v5_default.elf', name: 'px4_fmu-v5_default'
|
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('px4_fmu-v5_stackcheck') {
|
|
|
|
agent {
|
|
|
|
docker {
|
|
|
|
image 'px4io/px4-dev-nuttx:2019-02-09'
|
|
|
|
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 px4_fmu-v5_stackcheck'
|
|
|
|
sh 'make sizes'
|
|
|
|
sh 'ccache -s'
|
|
|
|
stash includes: 'build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf', name: 'px4_fmu-v5_stackcheck'
|
|
|
|
}
|
|
|
|
post {
|
|
|
|
always {
|
|
|
|
sh 'make distclean'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-08-17 10:28:51 -03:00
|
|
|
} // parallel
|
|
|
|
} // stage Build
|
|
|
|
|
|
|
|
stage('Flash and Run') {
|
|
|
|
|
|
|
|
parallel {
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v2_test') {
|
|
|
|
agent {
|
|
|
|
label 'px4_fmu-v2'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
|
|
|
unstash 'px4_fmu-v2_test'
|
2019-02-27 19:42:54 -04:00
|
|
|
sh 'platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v2_test/px4_fmu-v2_test.elf'
|
2019-02-27 00:03:24 -04:00
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
//sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('px4_fmu-v3_default') {
|
2019-02-26 20:22:16 -04:00
|
|
|
agent {
|
|
|
|
label 'px4_fmu-v3'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
|
|
|
unstash 'px4_fmu-v3_default'
|
2019-02-27 19:42:54 -04:00
|
|
|
sh 'platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v3_default/px4_fmu-v3_default.elf'
|
2019-02-26 20:22:16 -04:00
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v4_default') {
|
2018-08-17 10:28:51 -03:00
|
|
|
agent {
|
2019-02-26 19:33:42 -04:00
|
|
|
label 'px4_fmu-v4'
|
2018-08-17 10:28:51 -03:00
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
2019-01-05 21:33:38 -04:00
|
|
|
unstash 'px4_fmu-v4_default'
|
2019-02-27 19:42:54 -04:00
|
|
|
sh 'platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v4_default/px4_fmu-v4_default.elf'
|
2019-01-05 21:33:38 -04:00
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
2018-08-17 10:28:51 -03:00
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
2019-02-04 00:41:12 -04:00
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
2018-08-17 10:28:51 -03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v4pro_default') {
|
2019-02-26 20:22:16 -04:00
|
|
|
agent {
|
|
|
|
label 'px4_fmu-v4pro'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
|
|
|
unstash 'px4_fmu-v4pro_default'
|
2019-02-27 19:42:54 -04:00
|
|
|
sh 'platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf'
|
2019-02-26 20:22:16 -04:00
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-27 00:03:24 -04:00
|
|
|
stage('px4_fmu-v5_default') {
|
|
|
|
agent {
|
|
|
|
label 'px4_fmu-v5'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
|
|
|
unstash 'px4_fmu-v5_default'
|
2019-02-27 19:42:54 -04:00
|
|
|
sh './platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v5_default/px4_fmu-v5_default.elf'
|
2019-02-27 00:03:24 -04:00
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-28 16:48:18 -04:00
|
|
|
stage('px4_fmu-v5_stackcheck') {
|
|
|
|
agent {
|
|
|
|
label 'px4_fmu-v5'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
script {
|
|
|
|
try {
|
|
|
|
sh 'export'
|
|
|
|
sh 'find /dev/serial'
|
|
|
|
unstash 'px4_fmu-v5_stackcheck'
|
|
|
|
sh './platforms/nuttx/Debug/jlink_gdb_upload.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf'
|
|
|
|
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*` --baudrate 57600'
|
|
|
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_TTL232R-3V3_*`'
|
|
|
|
} catch (Exception err) {
|
|
|
|
// always report passed for now
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
|
|
}
|
|
|
|
} // script
|
|
|
|
}
|
|
|
|
options {
|
|
|
|
timeout(time: 600, unit: 'SECONDS')
|
|
|
|
}
|
|
|
|
}
|
2019-02-27 00:03:24 -04:00
|
|
|
|
2018-08-17 10:28:51 -03:00
|
|
|
} // parallel
|
|
|
|
} // stage Flash
|
|
|
|
|
|
|
|
} // stages
|
|
|
|
environment {
|
|
|
|
CCACHE_DIR = '/tmp/ccache'
|
|
|
|
CI = true
|
|
|
|
}
|
|
|
|
options {
|
2019-02-24 13:13:15 -04:00
|
|
|
buildDiscarder(logRotator(numToKeepStr: '20', artifactDaysToKeepStr: '30'))
|
2018-08-17 10:28:51 -03:00
|
|
|
timeout(time: 60, unit: 'MINUTES')
|
|
|
|
}
|
|
|
|
}
|