X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2Fci-pipelines%2Fci_stage_1.groovy;h=69b90184751288ef3580eedb97b52cdf80484a7a;hb=8940bcd1c21d99b3f840bcfb2af225a1f8e11c44;hp=c345e94058b15b301380ce7343932f72a9c4a2e6;hpb=8343e3fc441f1669ae906e85699e3f244dddc0b0;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_stage_1.groovy b/jenkins/ci-pipelines/ci_stage_1.groovy index c345e940..69b90184 100644 --- a/jenkins/ci-pipelines/ci_stage_1.groovy +++ b/jenkins/ci-pipelines/ci_stage_1.groovy @@ -25,7 +25,8 @@ def Get_MDG(project) { return project } -node { +node("${params.NODE}") { + mdg = Get_MDG("${GERRIT_PROJECT}") println("MDG is ${mdg}") @@ -34,25 +35,52 @@ node { params.PROJECT_URL_PREFIX = 'https://osm.etsi.org/gerrit' } - // pipeline running from gerrit trigger. - // kickoff the downstream multibranch pipeline - def downstream_params = [ - string(name: 'GERRIT_BRANCH', value: GERRIT_BRANCH), - string(name: 'GERRIT_PROJECT', value: GERRIT_PROJECT), - string(name: 'GERRIT_REFSPEC', value: GERRIT_REFSPEC), - string(name: 'GERRIT_PATCHSET_REVISION', value: GERRIT_PATCHSET_REVISION), - string(name: 'PROJECT_URL_PREFIX', value: params.PROJECT_URL_PREFIX), - booleanParam(name: 'TEST_INSTALL', value: params.TEST_INSTALL), - ] - - println("TEST_INSTALL = ${params.TEST_INSTALL}") - // callout to stage_2. This is a multi-branch pipeline. - upstream_job_name = "${mdg}-stage_2/${GERRIT_BRANCH}" - - stage_2_result = build job: "${upstream_job_name}", parameters: downstream_params, propagate: true - if (stage_2_result.getResult() != 'SUCCESS') { - project = stage_2_result.getProjectName() - build = stage_2_result.getNumber() - error("${project} build ${build} failed") + stage('downstream') { + // initially use stage_name as the event_type + def stage_name = GERRIT_EVENT_TYPE + + switch(GERRIT_EVENT_TYPE) { + case "change-merged": + stage_name = "stage_2-merge" + break + + case "patchset-created": + stage_name = "stage_2" + break + } + + // pipeline running from gerrit trigger. + // kickoff the downstream multibranch pipeline + def downstream_params = [ + string(name: 'GERRIT_BRANCH', value: GERRIT_BRANCH), + string(name: 'GERRIT_PROJECT', value: GERRIT_PROJECT), + string(name: 'GERRIT_REFSPEC', value: GERRIT_REFSPEC), + string(name: 'GERRIT_PATCHSET_REVISION', value: GERRIT_PATCHSET_REVISION), + string(name: 'PROJECT_URL_PREFIX', value: params.PROJECT_URL_PREFIX), + booleanParam(name: 'TEST_INSTALL', value: params.TEST_INSTALL), + ] + + if ( params.STAGE ) + { + // go directly to stage 3 (osm system) + stage_name = "stage_3" + mdg = "osm" + if ( ! params.TEST_INSTALL ) + { + println("disabling stage_3 invocation") + return + } + } + // callout to stage_2. This is a multi-branch pipeline. + downstream_job_name = "${mdg}-${stage_name}/${GERRIT_BRANCH}" + + println("TEST_INSTALL = ${params.TEST_INSTALL}, downstream job: ${downstream_job_name}") + + stage_2_result = build job: "${downstream_job_name}", parameters: downstream_params, propagate: true + if (stage_2_result.getResult() != 'SUCCESS') { + project = stage_2_result.getProjectName() + build = stage_2_result.getNumber() + error("${project} build ${build} failed") + } } }