From c8dcda99a018327e715af62d33d27efc5970cd8d Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 22 Sep 2016 14:23:27 +0200
Subject: [PATCH] [Jenkins] Moved clang-sanitizer to separate job.

Setting build status to UNSTABLE when it is already FAILED does
not work. See http://stackoverflow.com/a/38321558/80480.
---
 Jenkinsfile                  |  2 +-
 scripts/jenkins/clang.groovy | 15 ++++++---------
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index bf5857beb8c..41143a502ce 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -21,7 +21,7 @@ node('master') {
 
     if (helper.isRelease()) {
         builders['msvc32'] = { load 'scripts/jenkins/msvc32.groovy' }
-        builders['clang'] = { load 'scripts/jenkins/clang.groovy' }
+        build job: 'OGS-6/clang-sanitizer', wait: false
     }
 
     parallel builders
diff --git a/scripts/jenkins/clang.groovy b/scripts/jenkins/clang.groovy
index d744d60e5d6..0286bbc6416 100644
--- a/scripts/jenkins/clang.groovy
+++ b/scripts/jenkins/clang.groovy
@@ -1,4 +1,8 @@
 node('docker') {
+    def configure = load 'scripts/jenkins/lib/configure.groovy'
+    def build     = load 'scripts/jenkins/lib/build.groovy'
+    def post      = load 'scripts/jenkins/lib/post.groovy'
+
     def defaultDockerArgs = '-v /home/jenkins/.ccache:/usr/src/.ccache'
     def defaultCMakeOptions =
         '-DOGS_LIB_BOOST=System ' +
@@ -16,20 +20,13 @@ node('docker') {
             stage 'Unit tests (Clang)'
             build.linux 'build', 'tests', 'UBSAN_OPTIONS=print_stacktrace=1 make -j $(nproc)'
         }
-        catch(err) {
-            echo "Clang sanitizer for unit tests failed, marking build as unstable!"
-            currentBuild.result = "UNSTABLE"
-        }
+        catch(err) { echo "Clang sanitizer for unit tests failed!" }
 
         try {
             stage 'End-to-end tests (Clang)'
             build.linux 'build', 'ctest', 'UBSAN_OPTIONS=print_stacktrace=1 make -j $(nproc)'
         }
-        catch(err) {
-            echo "Clang sanitizer for end-to-end tests failed, marking build as unstable!"
-            currentBuild.result = "UNSTABLE"
-        }
-
+        catch(err) { echo "Clang sanitizer for end-to-end tests failed!" }
     }
 
     stage 'Post (Clang)'
-- 
GitLab