瀏覽代碼

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 5 年之前
父節點
當前提交
5d74bd7ef9
共有 1 個文件被更改,包括 12 次插入1 次删除
  1. 12 1
      Jenkinsfile

+ 12 - 1
Jenkinsfile

@@ -26,12 +26,23 @@ pipeline {
         TIMEOUT             = '120m'
     }
     stages {
+        stage('pr-hack') {
+            when { changeRequest() }
+            steps {
+                script {
+                    echo "Workaround for PR auto-cancel feature. Borrowed from https://issues.jenkins-ci.org/browse/JENKINS-43353"
+                    def buildNumber = env.BUILD_NUMBER as int
+                    if (buildNumber > 1) milestone(buildNumber - 1)
+                    milestone(buildNumber)
+                }
+            }
+        }
         stage('DCO-check') {
             when {
                 beforeAgent true
                 expression { !params.skip_dco }
             }
-            agent { label 'linux' }
+            agent { label 'amd64 && ubuntu-1804 && overlay2' }
             steps {
                 sh '''
                 docker run --rm \