blob: 9278bc3f1ff92e74893b5bf396989d63caa5b6c1 [file]
// ***************************************************************************************************************************
// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
// * with the License. You may obtain a copy of the License at *
// * *
// * http://www.apache.org/licenses/LICENSE-2.0 *
// * *
// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
// * specific language governing permissions and limitations under the License. *
// ***************************************************************************************************************************
timestamps {
node ('ubuntu') {
stage ('Juneau-Java-17 - Checkout') {
// CleanBeforeCheckout runs 'git clean -fdx' prior to checkout so untracked build byproduct left on this
// long-lived reused agent workspace is purged. Without it, module directories that were renamed via
// 'git mv' (e.g. the juneau-*-mcp-* family) leave orphaned target/surefire-reports/*.xml behind that
// 'mvn clean' never revisits, which the unscoped junit '**/target/surefire-reports/*.xml' step below
// then re-discovers on every build -- marking an otherwise-green build UNSTABLE indefinitely.
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CleanBeforeCheckout']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '', url: 'https://github.com/apache/juneau']]])
}
stage ('Juneau-Java-17 - Build') {
withEnv(["JAVA_HOME=${ tool 'JDK 17 (latest)' }", "PATH=$PATH:${env.JAVA_HOME}/bin"]) {
withMaven(jdk: 'JDK 17 (latest)', maven: 'Maven 3.6.3') {
sh "echo hello"
sh "mvn -ntp clean install deploy"
}
junit '**/target/surefire-reports/*.xml'
jacoco()
publishCoverage sourceFileResolver: sourceFiles('NEVER_STORE')
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: '', reportFiles: 'index.html', reportName: 'HTML Report', reportTitles: ''])
}
}
stage ('Juneau-Java-17 - Perf guard') {
sh 'python3 scripts/ci-perf-guard.py || true'
}
stage ('Juneau-Java-17 - Post build actions') {
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'dev@juneau.apache.org', sendToIndividuals: true])
}
}
}