Browse code

Jenkinsfile hack for auto-cancellation.

This change will cause Jenkins to only build the
latest HEAD of a PR branch, cancelling any
previous builds that may already be in progress.
This will decrease feedback time and help mitigate
resource contention.

Signed-off-by: Peter Salvatore <peter@psftw.com>
(cherry picked from commit 85bcc524eaa86ea5dde0c7214d15658587863a4c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Peter Salvatore authored on 2019/09/04 04:26:21
Showing 1 changed files
... ...
@@ -26,12 +26,23 @@ pipeline {
26 26
         TIMEOUT             = '120m'
27 27
     }
28 28
     stages {
29
+        stage('pr-hack') {
30
+            when { changeRequest() }
31
+            steps {
32
+                script {
33
+                    echo "Workaround for PR auto-cancel feature. Borrowed from https://issues.jenkins-ci.org/browse/JENKINS-43353"
34
+                    def buildNumber = env.BUILD_NUMBER as int
35
+                    if (buildNumber > 1) milestone(buildNumber - 1)
36
+                    milestone(buildNumber)
37
+                }
38
+            }
39
+        }
29 40
         stage('DCO-check') {
30 41
             when {
31 42
                 beforeAgent true
32 43
                 expression { !params.skip_dco }
33 44
             }
34
-            agent { label 'linux' }
45
+            agent { label 'amd64 && ubuntu-1804 && overlay2' }
35 46
             steps {
36 47
                 sh '''
37 48
                 docker run --rm \