[zorg] r317603 - zorg/jenkins: Mark builds as 'UNSTABLE' if log analysis found issues

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 11:06:59 PST 2017


Author: matze
Date: Tue Nov  7 11:06:59 2017
New Revision: 317603

URL: http://llvm.org/viewvc/llvm-project?rev=317603&view=rev
Log:
zorg/jenkins: Mark builds as 'UNSTABLE' if log analysis found issues

Modified:
    zorg/trunk/zorg/jenkins/benchmark.groovy
    zorg/trunk/zorg/jenkins/inspect_log.py

Modified: zorg/trunk/zorg/jenkins/benchmark.groovy
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/benchmark.groovy?rev=317603&r1=317602&r2=317603&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/benchmark.groovy (original)
+++ zorg/trunk/zorg/jenkins/benchmark.groovy Tue Nov  7 11:06:59 2017
@@ -22,7 +22,11 @@ private def post_build() {
     def base_url = 'http://labmaster2:8080/green'
     def build_url = currentBuild.getRawBuild().getUrl()
     def log_url = "${base_url}/${build_url}consoleText"
-    sh "curl '${log_url}' -s | config/zorg/jenkins/inspect_log.py > log_summary.html"
+    def ret = sh \
+        script: "curl '${log_url}' -s | config/zorg/jenkins/inspect_log.py > log_summary.html",
+        returnStatus: true
+    if (ret != 0 && currentBuild.currentResult == 'SUCCESS')
+        currentBuild.result = 'UNSTABLE'
     def log_summary = readFile 'log_summary.html'
 
     // Update job description.

Modified: zorg/trunk/zorg/jenkins/inspect_log.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/inspect_log.py?rev=317603&r1=317602&r2=317603&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/inspect_log.py (original)
+++ zorg/trunk/zorg/jenkins/inspect_log.py Tue Nov  7 11:06:59 2017
@@ -109,7 +109,7 @@ def _make_html_snippets(matches, limit):
 
     matches = list(matches)
     if len(matches) == 0:
-        return
+        return False
 
     sys.stdout.write('<div style="margin-bottom: 2em;">Found %d issues:</div>\n' % (len(matches), ))
 
@@ -137,6 +137,8 @@ def _make_html_snippets(matches, limit):
     if limited:
         sys.stdout.write('<b>... (limited to first %d issues)</b>\n' % limit)
 
+    return True
+
 
 if __name__ == '__main__':
     lines_before = 5
@@ -146,4 +148,6 @@ if __name__ == '__main__':
                                   lines_before=lines_before,
                                   lines_after=lines_after)
     limit = 12 # Limit the amount of issues we show.
-    _make_html_snippets(matches, limit)
+    had_issues = _make_html_snippets(matches, limit)
+    if had_issues:
+        sys.exit(1)




More information about the llvm-commits mailing list