diff options
-rw-r--r-- | jenkins/multi_trigger.groovy | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/jenkins/multi_trigger.groovy b/jenkins/multi_trigger.groovy index 958dee8..fb65be8 100644 --- a/jenkins/multi_trigger.groovy +++ b/jenkins/multi_trigger.groovy @@ -6,9 +6,12 @@ node('master') { tasks = [:] build_objs = [:] + build_types = [] stage("Trigger") { for (platform in platforms.tokenize()) { + build_type = platform.tokenize("_")[0] + build_types += build_type def platname = platform // must be inside for loop println("platname = ${platname}") tasks["${platname}"] = { @@ -25,18 +28,37 @@ node('master') { } stage("Report") { + // Parallel execution of the code blocks defined within the 'tasks' map. parallel(tasks) println("Results...") + println(build_types) results_msg = "" - build_objs.each{ + + compare = build_types[0] + build_type = compare + for (type in build_types[1..-1]) { + if (type != compare) { + build_type = "mixed" + break + } + } + + platcount = build_objs.size() + successes = 0 + build_objs.each { key, value -> results_msg = "${results_msg}${key} build #: ${value.number}, result: ${value.result}\n" for (pkg_result in value.description.split('\n')) { + if (pkg_result == "SUCCESS") { + successes++ + } results_msg = "${results_msg}${pkg_result}\n" } + results_msg = "${results_msg}\n" } println(results_msg) def recipients = mail_recipients.replaceAll("\n", " ") - mail body: results_msg, subject: "Build summary", to: recipients, from: "jenkins@boyle.stsci.edu" + def subject = "Build summary, ${build_type} - ${successes}/${platcount} platforms successful" + mail body: results_msg, subject: subject, to: recipients, from: "jenkins@boyle.stsci.edu" } } |