| pipeline { |
| options { skipDefaultCheckout true } |
| agent { label 'bazel-debian' } |
| stages { |
| stage('Checkout') { |
| steps { |
| sh "git clone -b ${env.GERRIT_BRANCH} https://gerrit.googlesource.com/plugins/zookeeper-refdb" |
| sh "cd zookeeper-refdb && git fetch origin refs/changes/${BRANCH_NAME} && git merge FETCH_HEAD" |
| } |
| } |
| stage('Formatting') { |
| steps { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'RUNNING'], url: "${env.BUILD_URL}console") |
| sh "find zookeeper-refdb -name '*.java' | xargs /home/jenkins/format/google-java-format-1.7 -i" |
| script { |
| def formatOut = sh (script: 'cd zookeeper-refdb && git status --porcelain', returnStdout: true) |
| if (formatOut.trim()) { |
| def files = formatOut.split('\n').collect { it.split(' ').last() } |
| files.each { gerritComment path:it, message: 'Needs reformatting with GJF' } |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console") |
| } else { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'SUCCESSFUL'], url: "${env.BUILD_URL}console") |
| } |
| } |
| } |
| } |
| stage('build') { |
| environment { |
| DOCKER_HOST = """${sh( |
| returnStdout: true, |
| script: "/sbin/ip route|awk '/default/ {print \"tcp://\"\$3\":2375\"}'" |
| )}""" |
| } |
| steps { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'RUNNING'], url: "${env.BUILD_URL}console") |
| sh 'git clone --recursive -b $GERRIT_BRANCH https://gerrit.googlesource.com/gerrit' |
| sh 'cd gerrit/plugins && ln -sf ../../zookeeper-refdb . && ln -sf zookeeper-refdb/external_plugin_deps.bzl .' |
| dir ('gerrit') { |
| sh 'bazelisk build plugins/zookeeper-refdb' |
| sh 'bazelisk test --test_env DOCKER_HOST=$DOCKER_HOST plugins/zookeeper-refdb:zookeeper-refdb_tests' |
| } |
| } |
| } |
| } |
| post { |
| success { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'SUCCESSFUL'], url: "${env.BUILD_URL}console") |
| } |
| unstable { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console") |
| } |
| failure { |
| gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console") |
| } |
| } |
| } |