Jenkinsfile 2.9 KB
Newer Older
1 2 3 4
pipeline {
  agent any
  stages {
    stage('build') {
5
      parallel {
Daniel Agar's avatar
Daniel Agar committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
        stage('Linux Debug') {
          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+=debug 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
        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'
          }
        }
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
        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'
          }
        }
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
        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
73
            sh 'cd ${SHADOW_BUILD_DIR}; ${QT_PATH}/5.9.3/clang_64/bin/qmake -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=release CONFIG+=WarningsAsErrorsOn'
74
            sh 'cd ${SHADOW_BUILD_DIR}; make -j`sysctl -n hw.ncpu`'
PX4 Build Bot's avatar
PX4 Build Bot committed
75
            sh 'ccache -s'
76 77
          }
        }
78 79 80
      }
    }
  }
81 82
  environment {
    SHADOW_BUILD_DIR = '/tmp/jenkins/shadow_build_dir'
PX4 Build Bot's avatar
PX4 Build Bot committed
83 84
    CCACHE_CPP2 = '1'
    CCACHE_BASEDIR = '${WORKSPACE}'
85
  }
86
}