| pipeline { |
| options { |
| timeout(time: 40, unit: 'MINUTES') |
| buildDiscarder(logRotator(numToKeepStr:'5')) |
| } |
| agent { |
| label "centos-latest" |
| } |
| tools { |
| maven 'apache-maven-latest' |
| jdk 'openjdk-jdk11-latest' |
| } |
| stages { |
| stage('initialize Gerrit review') { |
| steps { |
| gerritReview labels: [Verified: 0], message: "Build started $BUILD_URL" |
| } |
| } |
| stage('get binaries') { |
| steps{ |
| dir ('rt.equinox.binaries') { |
| checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', timeout: 120]], submoduleCfg: [], userRemoteConfigs: [[url: 'git://git.eclipse.org/gitroot/equinox/rt.equinox.binaries.git']]]) |
| } |
| } |
| } |
| stage('Build') { |
| steps { |
| sh """ |
| mvn clean verify --batch-mode --fail-at-end -Dmaven.repo.local=$WORKSPACE/.m2/repository \ |
| -Pbuild-individual-bundles -Pbree-libs -Papi-check \ |
| -DskipTests=false -Dmaven.compiler.failOnWarning=true \ |
| -Dcompare-version-with-baselines.skip=false \ |
| -Dproject.build.sourceEncoding=UTF-8 \ |
| -Drt.equinox.binaries.loc=$WORKSPACE/rt.equinox.binaries |
| """ |
| } |
| post { |
| always { |
| archiveArtifacts artifacts: '*.log,*/target/work/data/.metadata/*.log,*/tests/target/work/data/.metadata/*.log,apiAnalyzer-workspace/data/.metadata/*.log,*/apiAnalyzer-workspace/data/.metadata/*.log', allowEmptyArchive: true |
| junit '**/target/surefire-reports/TEST-*.xml' |
| publishIssues issues:[scanForIssues(tool: java()), scanForIssues(tool: mavenConsole())] |
| } |
| unstable { |
| gerritReview labels: [Verified: -1], message: "Build UNSTABLE (test failures) $BUILD_URL" |
| } |
| failure { |
| gerritReview labels: [Verified: -1], message: "Build FAILED $BUILD_URL" |
| } |
| } |
| } |
| stage('Check freeze period') { |
| when { |
| not { |
| branch 'master' |
| } |
| } |
| steps { |
| sh "wget https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/plain/scripts/verifyFreezePeriod.sh" |
| sh "chmod +x verifyFreezePeriod.sh" |
| withCredentials([string(credentialsId: 'google-api-key', variable: 'GOOGLE_API_KEY')]) { |
| sh './verifyFreezePeriod.sh' |
| } |
| } |
| post { |
| failure { |
| gerritReview labels: [Verified: -1], message: "Build and test are OK, but Eclipse project is currently in a code freeze period.\nPlease wait for end of code freeze period before merging.\n $BUILD_URL" |
| } |
| } |
| } |
| } |
| post { |
| success { |
| gerritReview labels: [Verified: 1], message: "Build Succcess $BUILD_URL" |
| } |
| } |
| } |