Various fixes
* Retrieve build commands from build_manager
* fixing psa build dir
* Use different node labels for different builds
* Add script to download jenkins artifacts
* Verify status per stage
* Moving code to library
* Ability to comment on gerrit change
Change-Id: I390674b7ed6cfd20e4746a2d32e708fd6855857b
Signed-off-by: Dean Birch <dean.birch@arm.com>
diff --git a/src/org/trustedfirmware/Summary.groovy b/src/org/trustedfirmware/Summary.groovy
new file mode 100644
index 0000000..bb5b16d
--- /dev/null
+++ b/src/org/trustedfirmware/Summary.groovy
@@ -0,0 +1,68 @@
+//-------------------------------------------------------------------------------
+// Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+//
+// SPDX-License-Identifier: BSD-3-Clause
+//
+//-------------------------------------------------------------------------------
+
+package org.trustedfirmware;
+
+@NonCPS
+def getBuildCsv(results) {
+ def table = [:]
+ def projects = []
+ results.each { result ->
+ res = result.value[0]
+ config = result.value[1]
+ params = result.value[2]
+ if (params['BL2'] == 'True') {
+ bl2_string = 'BL2'
+ } else {
+ bl2_string = 'NOBL2'
+ }
+ row_string = "${params['TARGET_PLATFORM']}_${params['COMPILER']}_${params['CMAKE_BUILD_TYPE']}_${bl2_string}"
+ column_string = "${params['PROJ_CONFIG']}"
+ row = table[row_string]
+ if (row == null) {
+ row = [:]
+ }
+ row[column_string] = res.getResult()
+ table[row_string] = row
+ if(!projects.contains(params['PROJ_CONFIG'])) {
+ projects += params['PROJ_CONFIG']
+ }
+ }
+ header = []
+ header += "" // top left
+ header.addAll(projects)
+ header.sort { it.toLowerCase() }
+ csvContent = []
+ for (row in table) {
+ row_item = []
+ row_item += row.key
+ for (project in projects) {
+ result = table[row.key][project]
+ if (result == null) {
+ result = "N/A"
+ }
+ row_item += result
+ }
+ csvContent.add(row_item)
+ }
+ csvContent.sort { it[0].toLowerCase() }
+ csvContent.add(0, header)
+ return csvContent
+}
+
+@NonCPS
+def getLinks(results) {
+ linksContent = []
+ results.each { result ->
+ res = result.value[0]
+ config = result.value[1]
+ url = res.getAbsoluteUrl()
+ linksContent.add("${config}: <a href=\"${url}\">Job</a>/<a href=\"${url}/artifact/build.log/*view*/\">Logs</a>/<a href=\"${url}/artifact/\">Artifacts</a><br/>")
+ }
+ linksContent.sort()
+ return linksContent.join("\n")
+}