From 3c36e26a420c3d9031fc542e4f9cf95d69780482 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Mon, 5 Feb 2018 12:22:52 -0500 Subject: [PATCH] Jenkins organize environment sections --- Jenkinsfile | 50 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b30c74deb..649233dbb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,36 +4,48 @@ pipeline { 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 '-e CI=true -e CCACHE_BASEDIR=$WORKSPACE -e CCACHE_DIR=/tmp/ccache -v /tmp/ccache:/tmp/ccache:rw' + 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; qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=debug CONFIG+=WarningsAsErrorsOn' - sh 'cd build; make -j4' + 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 '-e CI=true -e CCACHE_BASEDIR=$WORKSPACE -e CCACHE_DIR=/tmp/ccache -v /tmp/ccache:/tmp/ccache:rw' + 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; qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=release CONFIG+=WarningsAsErrorsOn' - sh 'cd build; make -j4' + 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' } } @@ -44,17 +56,18 @@ pipeline { } } environment { - QT_FATAL_WARNINGS = '1' - QMAKESPEC = 'macx-clang' + 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 'rm -rf ${SHADOW_BUILD_DIR}; mkdir -p ${SHADOW_BUILD_DIR}' - sh 'cd ${SHADOW_BUILD_DIR}; ${QT_PATH}/5.9.3/clang_64/bin/qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=debug CONFIG+=WarningsAsErrorsOn' - sh 'cd ${SHADOW_BUILD_DIR}; make -j`sysctl -n hw.ncpu`' + 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' } } @@ -65,17 +78,18 @@ pipeline { } } environment { - QT_FATAL_WARNINGS = '1' - QMAKESPEC = 'macx-clang' + 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 'rm -rf ${SHADOW_BUILD_DIR}; mkdir -p ${SHADOW_BUILD_DIR}' - sh 'cd ${SHADOW_BUILD_DIR}; ${QT_PATH}/5.9.3/clang_64/bin/qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=release CONFIG+=WarningsAsErrorsOn' - sh 'cd ${SHADOW_BUILD_DIR}; make -j`sysctl -n hw.ncpu`' + 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' } } @@ -83,8 +97,8 @@ pipeline { } } environment { - SHADOW_BUILD_DIR = '/tmp/jenkins/shadow_build_dir' CCACHE_CPP2 = '1' - CCACHE_BASEDIR = '${WORKSPACE}' + CCACHE_DIR = '/tmp/ccache' + QT_FATAL_WARNINGS = '1' } } -- 2.22.0