aboutsummaryrefslogtreecommitdiff
path: root/jenkins/multi_trigger.groovy
diff options
context:
space:
mode:
authorMatt Rendina <rendinam@users.noreply.github.com>2018-10-10 13:52:03 -0400
committerGitHub <noreply@github.com>2018-10-10 13:52:03 -0400
commit5f943f78dfd8dc5bb81803a10b9fa87733a437c4 (patch)
tree3fff5ad89221e9a79367714554be5c3574e0bf62 /jenkins/multi_trigger.groovy
parent19134d9a16f889bacc3f1ad4b1a1a37755844cf8 (diff)
parent22f7f27bc736cd9f5defa181b555348b99df936a (diff)
downloadbuild_control-5f943f78dfd8dc5bb81803a10b9fa87733a437c4.tar.gz
Merge pull request #70 from rendinam/master_platform_select1.0.29
Allow override of master_platforms for building non-python packages.
Diffstat (limited to 'jenkins/multi_trigger.groovy')
-rw-r--r--jenkins/multi_trigger.groovy33
1 files changed, 28 insertions, 5 deletions
diff --git a/jenkins/multi_trigger.groovy b/jenkins/multi_trigger.groovy
index 03e928e..e23d08b 100644
--- a/jenkins/multi_trigger.groovy
+++ b/jenkins/multi_trigger.groovy
@@ -18,17 +18,39 @@ node('master') {
os_list.add(os)
}
}
- // Compose list of master platforms
+
+ // Determine if the master platform has been overridden
+ // by the specification of a valid platform name substring.
+ def override_master_platform = false
+ for (platform in platforms) {
+ if (platform.contains(non_python_pkg_platform)) {
+ override_master_platform = true
+ break
+ }
+ }
+
def master_platforms = []
- for (osval in os_list) {
+ if (override_master_platform) {
for (platform in platforms) {
- if (platform.contains(osval)) {
+ if (platform.contains(non_python_pkg_platform)) {
master_platforms.add(platform)
- break
}
}
+ println("Automatic master_platforms overridden by job parameter." +
+ " Building non-python packages only on master_platforms: ${master_platforms}")
+ } else {
+ // Compose automatic list of master platforms.
+ for (osval in os_list) {
+ for (platform in platforms) {
+ if (platform.contains(osval)) {
+ master_platforms.add(platform)
+ break
+ }
+ }
+ }
+ println("Building non-python packages only on master_platforms: ${master_platforms}")
}
- println("master_platforms: ${master_platforms}")
+
for (platform in platforms) {
build_type = platform.tokenize("_")[0]
@@ -48,6 +70,7 @@ node('master') {
if (master_platforms.contains(platname)) {
filter_nonpython = false
}
+
tasks["${platname}"] = {
build_objs["${platname}"] = build(
job: "/AstroConda/${platname}/_dispatch",