diff options
author | Matt Rendina <mrendina@stsci.edu> | 2017-06-07 14:42:27 -0400 |
---|---|---|
committer | Matt Rendina <mrendina@stsci.edu> | 2017-06-07 14:42:27 -0400 |
commit | 277175ed0d5bedc87e18a41de8b2e44a5636d62e (patch) | |
tree | a6e13a9f19b2ece50ed51b4b1b7b9e2f594b0247 /jenkins/package_builder.groovy | |
parent | b884dca38379284c52ed6634ba9c2e70f31393dc (diff) | |
download | build_control-277175ed0d5bedc87e18a41de8b2e44a5636d62e.tar.gz |
Setup for build status propagation to dispatch job
Diffstat (limited to 'jenkins/package_builder.groovy')
-rw-r--r-- | jenkins/package_builder.groovy | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/jenkins/package_builder.groovy b/jenkins/package_builder.groovy index 37812ec..be868b0 100644 --- a/jenkins/package_builder.groovy +++ b/jenkins/package_builder.groovy @@ -1,3 +1,5 @@ +this.build_status_file = "${this.parent_workspace}/propagated_build_status" + node(this.label) { dir(this.parent_workspace) { @@ -28,6 +30,8 @@ node(this.label) { "PYTHONPATH: ${env.PYTHONPATH}\n" + "PYTHONUNBUFFERED: ${env.PYTHONUNBUFFERED}\n") + def build_status = readFile this.build_status_file + // In the directory common to all package build jobs, // run conda build --dirty for this package to use any existing work // directory or source trees already obtained. @@ -63,6 +67,11 @@ node(this.label) { returnStatus: true) if (stat != 0) { currentBuild.result = "FAILURE" + // Check if build status file already contains failure + // status. If not, write failure status to the file. + if (build_status != "FAILURE") { + sh "echo FAILURE > ${this.build_status_file}" + } } } @@ -79,6 +88,11 @@ node(this.label) { returnStatus: true) if (stat != 0) { currentBuild.result = "UNSTABLE" + // Check if build status file already contains unstable + // status. If not, write unstable status to the file. + if (build_status != "FAILURE") { + sh "echo FAILURE > ${this.build_status_file}" + } } } |