From dd9aeec66871ef1614847f5615df867456257238 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sat, 21 Mar 2020 17:37:11 +0100
Subject: Jenkins: T1870: support GitHub PullRequest builds

---
 Jenkinsfile | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

(limited to 'Jenkinsfile')

diff --git a/Jenkinsfile b/Jenkinsfile
index 225f4fc..7a79b0f 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -36,7 +36,7 @@ def isCustomBuild() {
     def gitURI = 'git@github.com:vyos/' + getGitRepoName()
     def httpURI = 'https://github.com/vyos/' + getGitRepoName()
 
-    return ! ((getGitRepoURL() == gitURI) || (getGitRepoURL() == httpURI))
+    return !((getGitRepoURL() == gitURI) || (getGitRepoURL() == httpURI)) || env.CHANGE_ID
 }
 
 def setDescription() {
@@ -73,7 +73,17 @@ node('Docker') {
     stage('Define Agent') {
         script {
             // create container name on demand
-            env.DOCKER_IMAGE = "vyos/vyos-build:" + getGitBranchName()
+            def branchName = getGitBranchName()
+            // Adjust PR target branch name so we can re-map it to the proper
+            // Docker image. CHANGE_ID is set only for pull requests, so it is
+            // safe to access the pullRequest global variable
+            if (env.CHANGE_ID) {
+                branchName = "${env.CHANGE_TARGET}".toLowerCase()
+            }
+            if (branchName.equals("master")) {
+                branchName = "current"
+            }
+            env.DOCKER_IMAGE = "vyos/vyos-build:" + branchName
         }
     }
 }
@@ -88,7 +98,6 @@ pipeline {
     }
     options {
         disableConcurrentBuilds()
-        skipDefaultCheckout()
         timeout(time: 30, unit: 'MINUTES')
         timestamps()
     }
@@ -97,8 +106,7 @@ pipeline {
             steps {
                 script {
                     dir('build') {
-                        git branch: getGitBranchName(),
-                            url: getGitRepoURL()
+                        checkout scm
                     }
                 }
             }
-- 
cgit v1.2.3