diff --git a/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile b/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile index 010ae8c1..c37e9b43 100644 --- a/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile +++ b/openshift/integration/koji/pipelines/templates/mbs-build.Jenkinsfile @@ -56,9 +56,20 @@ pipeline { steps { script { // check out specified branch/commit + def srcRef = env.MBS_GIT_REF.startsWith('pull/') ? env.MBS_GIT_REF : "heads/${env.MBS_GIT_REF}" checkout([$class: 'GitSCM', branches: [[name: params.MBS_GIT_REF]], - userRemoteConfigs: [[url: params.MBS_GIT_REPO, refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/pull/*/head']], + userRemoteConfigs: [ + [ + name: 'origin', + url: params.MBS_GIT_REPO, + refspec: "+refs/${srcRef}:refs/remotes/origin/${env.MBS_GIT_REF}", + ], + ], + extensions: [ + [$class: 'CleanBeforeCheckout'], + [$class: 'CloneOption', noTags: true, shallow: true, depth: 2, honorRefspec: true], + ], ]) // get current commit ID diff --git a/openshift/integration/koji/pipelines/templates/mbs-integration-test.Jenkinsfile b/openshift/integration/koji/pipelines/templates/mbs-integration-test.Jenkinsfile index 27d8f2c4..3aa0d55e 100644 --- a/openshift/integration/koji/pipelines/templates/mbs-integration-test.Jenkinsfile +++ b/openshift/integration/koji/pipelines/templates/mbs-integration-test.Jenkinsfile @@ -55,10 +55,23 @@ pipeline { // Don't set ENVIRONMENT_LABEL in the environment block! Otherwise you will get 2 different UUIDs. env.ENVIRONMENT_LABEL = "test-${env.TEST_ID}" + def srcRef = params.MBS_GIT_REF.startsWith('pull/') ? params.MBS_GIT_REF : 'heads/master' + def localRef = params.MBS_GIT_REF.startsWith('pull/') ? params.MBS_GIT_REF : 'master' + def cloneDepth = params.MBS_GIT_REF.startsWith('pull/') ? 2 : 10 // check out specified branch/commit checkout([$class: 'GitSCM', branches: [[name: params.MBS_GIT_REF]], - userRemoteConfigs: [[url: params.MBS_GIT_REPO, refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/pull/*/head']], + userRemoteConfigs: [ + [ + name: 'origin', + url: params.MBS_GIT_REPO, + refspec: "+refs/${srcRef}:refs/remotes/origin/${localRef}", + ], + ], + extensions: [ + [$class: 'CleanBeforeCheckout'], + [$class: 'CloneOption', noTags: true, shallow: true, depth: cloneDepth, honorRefspec: true], + ], ]) // get current commit ID diff --git a/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml b/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml index 04221b52..27137b58 100644 --- a/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml +++ b/openshift/integration/koji/pipelines/templates/mbs-polling-pagure.yaml @@ -150,16 +150,20 @@ objects: script { // checking out the polled branch def polledBranch = env.PAGURE_POLLING_FOR_PR == 'true' ? 'origin/pull/*/head' : "origin/${PAGURE_POLLED_BRANCH}" + def srcRef = env.PAGURE_POLLING_FOR_PR == 'true' ? 'pull/*/head' : "heads/${PAGURE_POLLED_BRANCH}" def scmVars = checkout([$class: 'GitSCM', branches: [[name: polledBranch]], userRemoteConfigs: [ [ name: 'origin', url: env.GIT_URL, - refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/pull/*/head', + refspec: "+refs/${srcRef}:refs/remotes/${polledBranch}", ], ], - extensions: [[$class: 'CleanBeforeCheckout']], + extensions: [ + [$class: 'CleanBeforeCheckout'], + [$class: 'CloneOption', noTags: true, shallow: true, depth: 2, honorRefspec: true], + ], ]) env.MBS_GIT_COMMIT = scmVars.GIT_COMMIT // setting build display name @@ -206,10 +210,13 @@ objects: [ name: 'origin', url: env.GIT_URL, - refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/pull/*/head', + refspec: "+refs/heads/${env.MBS_GIT_BRANCH}:refs/remotes/origin/${env.MBS_GIT_BRANCH}", ], ], - extensions: [[$class: 'CleanBeforeCheckout']], + extensions: [ + [$class: 'CleanBeforeCheckout'], + [$class: 'CloneOption', noTags: true, shallow: true, depth: 2, honorRefspec: true], + ], ]) script { dir('openshift/integration/koji/pipelines') {