pipeline { agent any stages { stage('build') { parallel { stage('Linux Debug') { environment { CCACHE_BASEDIR = "${env.WORKSPACE}" QGC_CONFIG = 'debug' QMAKE_VER = "5.9.2/gcc_64/bin/qmake" } agent { docker { image 'mavlink/qgc-build-linux' args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw' } } steps { sh 'export' sh 'ccache -z' sh 'git submodule deinit -f .' sh 'git clean -ff -x -d .' sh 'git submodule update --init --recursive --force' sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn' sh 'cd build; make -j`nproc --all`' sh 'ccache -s' } } stage('Linux Release') { environment { CCACHE_BASEDIR = "${env.WORKSPACE}" QGC_CONFIG = 'release' QMAKE_VER = "5.9.2/gcc_64/bin/qmake" } agent { docker { image 'mavlink/qgc-build-linux' args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw' } } steps { sh 'export' sh 'ccache -z' sh 'git submodule deinit -f .' sh 'git clean -ff -x -d .' sh 'git submodule update --init --recursive --force' sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn' sh 'cd build; make -j`nproc --all`' sh 'ccache -s' } } stage('OSX Debug') { agent { node { label 'mac' } } environment { CCACHE_BASEDIR = "${env.WORKSPACE}" QGC_CONFIG = 'debug' QMAKE_VER = "5.9.3/clang_64/bin/qmake" } steps { sh 'export' sh 'ccache -z' sh 'git submodule deinit -f .' sh 'git clean -ff -x -d .' sh 'git submodule update --init --recursive --force' sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn' sh 'cd build; make -j`sysctl -n hw.ncpu`' sh 'ccache -s' } } stage('OSX Release') { agent { node { label 'mac' } } environment { CCACHE_BASEDIR = "${env.WORKSPACE}" QGC_CONFIG = 'release' QMAKE_VER = "5.9.3/clang_64/bin/qmake" } steps { sh 'export' sh 'ccache -z' sh 'git submodule deinit -f .' sh 'git clean -ff -x -d .' sh 'git submodule update --init --recursive --force' sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn' sh 'cd build; make -j`sysctl -n hw.ncpu`' sh 'ccache -s' } } } } } environment { CCACHE_CPP2 = '1' CCACHE_DIR = '/tmp/ccache' QT_FATAL_WARNINGS = '1' } }