In Jenkins use `propagate: false` to ensure copyArtifact always works with a valid build number
diff --git a/jenkins-dsl/cassandra_pipeline.groovy b/jenkins-dsl/cassandra_pipeline.groovy
index b13b818..348c77e 100644
--- a/jenkins-dsl/cassandra_pipeline.groovy
+++ b/jenkins-dsl/cassandra_pipeline.groovy
@@ -1,5 +1,8 @@
// Cassandra-devbranch needs custom Jenkinsfile because of the parameters passed into the build jobs.
//
+// When updating this file you will need to go to https://ci-cassandra.apache.org/scriptApproval/
+// and approve the change.
+//
// Validate/lint this file using the following command
// `curl -X POST -F "jenkinsfile=<jenkins-dsl/cassandra_pipeline.groovy" https://ci-cassandra.apache.org/pipeline-model-converter/validate`
@@ -27,19 +30,13 @@
steps {
warnError('Tests unstable') {
script {
- stress = build job: "${env.JOB_NAME}-stress-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ stress = build job: "${env.JOB_NAME}-stress-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (stress.result != 'SUCCESS') unstable('stress test failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('stress-test', stress.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('stress-test', stress.getNumber())
@@ -52,19 +49,13 @@
steps {
warnError('Tests unstable') {
script {
- fqltool = build job: "${env.JOB_NAME}-fqltool-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ fqltool = build job: "${env.JOB_NAME}-fqltool-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (fqltool.result != 'SUCCESS') unstable('fqltool test failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('fqltool-test', fqltool.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('fqltool-test', fqltool.getNumber())
@@ -77,19 +68,13 @@
steps {
warnError('Tests unstable') {
script {
- jvm_dtest = build job: "${env.JOB_NAME}-jvm-dtest", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ jvm_dtest = build job: "${env.JOB_NAME}-jvm-dtest", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (jvm_dtest.result != 'SUCCESS') unstable('jvm-dtest failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('jvm-dtest', jvm_dtest.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('jvm-dtest', jvm_dtest.getNumber())
@@ -102,19 +87,13 @@
steps {
warnError('Tests unstable') {
script {
- test = build job: "${env.JOB_NAME}-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ test = build job: "${env.JOB_NAME}-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (test.result != 'SUCCESS') unstable('unit test failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('test', test.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('test', test.getNumber())
@@ -127,19 +106,13 @@
steps {
warnError('Tests unstable') {
script {
- long_test = build job: "${env.JOB_NAME}-long-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ long_test = build job: "${env.JOB_NAME}-long-test", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (long_test.result != 'SUCCESS') unstable('long unit test failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('long-test', long_test.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('long-test', long_test.getNumber())
@@ -152,19 +125,13 @@
steps {
warnError('Tests unstable') {
script {
- burn = build job: "${env.JOB_NAME}-test-burn", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ burn = build job: "${env.JOB_NAME}-test-burn", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (burn.result != 'SUCCESS') unstable('burn test failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('test-burn', burn.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('test-burn', burn.getNumber())
@@ -177,19 +144,13 @@
steps {
warnError('Tests unstable') {
script {
- cdc = build job: "${env.JOB_NAME}-test-cdc", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ cdc = build job: "${env.JOB_NAME}-test-cdc", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (cdc.result != 'SUCCESS') unstable('cdc failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('test-cdc', cdc.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('test-cdc', cdc.getNumber())
@@ -202,19 +163,13 @@
steps {
warnError('Tests unstable') {
script {
- compression = build job: "${env.JOB_NAME}-test-compression", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)]
+ compression = build job: "${env.JOB_NAME}-test-compression", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH)], propagate: false
+ if (compression.result != 'SUCCESS') unstable('compression failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('test-compression', compression.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('test-compression', compression.getNumber())
@@ -227,19 +182,13 @@
steps {
warnError('Tests unstable') {
script {
- cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH), string(name: 'DTEST_REPO', value: params.DTEST_REPO), string(name: 'DTEST_BRANCH', value: params.DTEST_BRANCH)]
+ cqlsh = build job: "${env.JOB_NAME}-cqlsh-tests", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH), string(name: 'DTEST_REPO', value: params.DTEST_REPO), string(name: 'DTEST_BRANCH', value: params.DTEST_BRANCH)], propagate: false
+ if (cqlsh.result != 'SUCCESS') unstable('cqlsh failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('cqlsh-tests', cqlsh.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('cqlsh-tests', cqlsh.getNumber())
@@ -256,19 +205,13 @@
steps {
warnError('Tests unstable') {
script {
- dtest = build job: "${env.JOB_NAME}-dtest", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH), string(name: 'DTEST_REPO', value: params.DTEST_REPO), string(name: 'DTEST_BRANCH', value: params.DTEST_BRANCH), string(name: 'DOCKER_IMAGE', value: params.DOCKER_IMAGE)]
+ dtest = build job: "${env.JOB_NAME}-dtest", parameters: [string(name: 'REPO', value: params.REPO), string(name: 'BRANCH', value: params.BRANCH), string(name: 'DTEST_REPO', value: params.DTEST_REPO), string(name: 'DTEST_BRANCH', value: params.DTEST_BRANCH), string(name: 'DOCKER_IMAGE', value: params.DOCKER_IMAGE)], propagate: false
+ if (dtest.result != 'SUCCESS') unstable('dtest failures')
}
}
}
post {
- success {
- warnError('missing test xml files') {
- script {
- copyTestResults('dtest', dtest.getNumber())
- }
- }
- }
- unstable {
+ always {
warnError('missing test xml files') {
script {
copyTestResults('dtest', dtest.getNumber())