mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-05 05:32:11 +08:00
Jenkins HIL test add px4fmu-v4
This commit is contained in:
@@ -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')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user