Jenkinsfile 2.28 KB
Newer Older
1 2 3 4
pipeline {
  agent any
  stages {
    stage('build') {
5
      parallel {
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
        stage('Linux Release') {
          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'
            }
          }
          steps {
            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 'ccache -s'
          }
        }
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
        stage('OSX Debug') {
          agent {
            node {
              label 'mac'
            }
          }
          environment {
            QT_FATAL_WARNINGS = '1'
            QMAKESPEC = 'macx-clang'
          }
          steps {
            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 'ccache -s'
          }
        }
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
        stage('OSX Release') {
          agent {
            node {
              label 'mac'
            }
          }
          environment {
            QT_FATAL_WARNINGS = '1'
            QMAKESPEC = 'macx-clang'
          }
          steps {
            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}'
Gus Grubba's avatar
Gus Grubba committed
57
            sh 'cd ${SHADOW_BUILD_DIR}; ${QT_PATH}/5.9.3/clang_64/bin/qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=release CONFIG+=WarningsAsErrorsOn'
58
            sh 'cd ${SHADOW_BUILD_DIR}; make -j`sysctl -n hw.ncpu`'
PX4 Build Bot's avatar
PX4 Build Bot committed
59
            sh 'ccache -s'
60 61
          }
        }
62 63 64
      }
    }
  }
65 66
  environment {
    SHADOW_BUILD_DIR = '/tmp/jenkins/shadow_build_dir'
PX4 Build Bot's avatar
PX4 Build Bot committed
67 68
    CCACHE_CPP2 = '1'
    CCACHE_BASEDIR = '${WORKSPACE}'
69
  }
70
}