From: Lasse Kaihlavirta Date: Tue, 2 Feb 2021 10:07:02 +0000 (+0200) Subject: Refactor verification job templates X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=27499e48f272f09810b15dd37cc8de45a4059c0e;p=ci-management.git Refactor verification job templates - extract common verification boilerplate definitions and default parameters and refer to them in review and merge verification jobs - remove unnecessary parameters from templates and from cssdk-csit Issue-ID: INT-1823, INT-1833 Signed-off-by: Lasse Kaihlavirta Change-Id: I63367216504b997acccd863bad0a2b7de3fc7480 --- diff --git a/jjb/ccsdk/ccsdk-csit.yaml b/jjb/ccsdk/ccsdk-csit.yaml index 5f3b2cd9f..fc634fdd5 100644 --- a/jjb/ccsdk/ccsdk-csit.yaml +++ b/jjb/ccsdk/ccsdk-csit.yaml @@ -3,18 +3,11 @@ name: ccsdk-distribution-csit jobs: - '{project-name}-review-verification-maven-{stream}': - build-node: ubuntu1804-docker-8c-8g - container-public-registry: 'nexus3.onap.org:10001' - container-snapshot-registry: 'nexus3.onap.org:10003' mvn-params: '-Dmaven.test.skip=true -Ddocker.skip.push=true -P docker' maven-versions-plugin: true - '{project-name}-merge-verification-maven-{stream}': - build-node: ubuntu1804-docker-8c-8g - container-public-registry: 'nexus3.onap.org:10001' - container-snapshot-registry: 'nexus3.onap.org:10003' mvn-params: '-Dmaven.test.skip=true -Ddocker.skip.push=true -P docker' maven-versions-plugin: true - project-name: 'ccsdk-distribution' recipients: 'dtimoney@att.com' # project name in gerrit @@ -22,10 +15,7 @@ stream: - 'master': branch: 'master' - java-version: openjdk11 - mvn-version: 'mvn36' mvn-settings: 'ccsdk-distribution-settings' - mvn-global-settings: global-settings robot-options: '' branch: 'master' diff --git a/jjb/integration/integration-templates-csit.yaml b/jjb/integration/integration-templates-csit.yaml index 31abe0dc7..be7485858 100644 --- a/jjb/integration/integration-templates-csit.yaml +++ b/jjb/integration/integration-templates-csit.yaml @@ -190,17 +190,8 @@ notify-every-unstable-build: false send-to-individuals: true -- job-template: - # Job template for unified review verification jobs in - # project-specific CSIT flow for projects built with maven - # - # The purpose of this job template is to: - # 1. build local snapshot docker images with maven - # 2. run CSIT job with the local images - # 3. give a verify vote to the triggering review - # - - name: '{project-name}-review-verification-maven-{stream}' +- verification_maven_job_boiler_plate: &verification_maven_job_boiler_plate + name: verification_maven_job_boiler_plate ###################### # Default parameters # @@ -208,8 +199,9 @@ branch: master build-days-to-keep: 30 # 30 days in case a release takes long to get approved. + build-node: ubuntu1804-docker-8c-8g build-timeout: 60 - disable-job: false + container-public-registry: 'nexus3.onap.org:10001' git-url: "$GIT_URL/$PROJECT" github-url: "https://github.com" maven-versions-plugin: false @@ -218,10 +210,8 @@ mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: "" - mvn-params: "" - maven-version: mvn36 - ossrh-profile-id: "" mvn-pom: "" + mvn-version: mvn36 stream: master submodule-recursive: true submodule-timeout: 10 @@ -239,6 +229,10 @@ node: '{build-node}' java-version: 'openjdk11' + ##################### + # Job Configuration # + ##################### + properties: - lf-infra-properties: project: '{project}' @@ -253,23 +247,12 @@ mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" - - maven-exec: - maven-version: '{maven-version}' - - maven-params: - mvn-params: '{mvn-params}' - string: name: ARCHIVE_ARTIFACTS default: "{archive-artifacts}" description: Artifacts to archive to the logs server. - integration-test-options: test-options: '{robot-options}' - - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - submodule-recursive: '{submodule-recursive}' - wrappers: - lf-infra-wrappers: build-timeout: '{build-timeout}' @@ -297,7 +280,6 @@ - inject: properties-content: | CONTAINER_PULL_REGISTRY={container-public-registry} - CONTAINER_PUSH_REGISTRY={container-snapshot-registry} - lf-maven-build: mvn-goals: "{mvn-goals}" - integration-install-robotframework @@ -305,15 +287,34 @@ properties-file: 'env.properties' - integration-run-project-test - lf-provide-maven-settings-cleanup + publishers: + - lf-infra-publish + +- job-template: + # Job template for unified review verification jobs in + # project-specific CSIT flow for projects built with maven + # + # The purpose of this job template is to: + # 1. build local snapshot docker images with maven + # 2. run CSIT job with the local images + # 3. give a verify vote to the triggering review + # + + name: '{project-name}-review-verification-maven-{stream}' + <<: *verification_maven_job_boiler_plate + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + submodule-recursive: '{submodule-recursive}' triggers: - gerrit-trigger-patch-submitted: server: '{server-name}' project: '{project}' branch: '{branch}' files: '**' - publishers: - - lf-infra-publish - job-template: # Job template for unified merge verification jobs in @@ -326,116 +327,16 @@ name: '{project-name}-merge-verification-maven-{stream}' - ###################### - # Default parameters # - ###################### - - branch: master - build-days-to-keep: 30 # 30 days in case a release takes long to get approved. - build-timeout: 60 - disable-job: false - git-url: "$GIT_URL/$PROJECT" - github-url: "https://github.com" - maven-versions-plugin: false - version-properties-file: version.properties - mvn-central: false - mvn-global-settings: global-settings - mvn-goals: clean deploy - mvn-opts: "" - mvn-params: "" - maven-version: mvn36 - ossrh-profile-id: "" - mvn-pom: "" - sign-artifacts: false - sign-mode: serial - stream: master - submodule-recursive: true - submodule-timeout: 10 - submodule-disable: false - - disabled: '{disabled}' - archive-artifacts: > - **/*.log - **/hs_err_*.log - **/target/**/feature.xml - **/target/failsafe-reports/failsafe-summary.xml - **/target/surefire-reports/*-output.txt - project-type: freestyle - node: '{build-node}' - java-version: 'openjdk11' - - properties: - - lf-infra-properties: - project: '{project}' - build-days-to-keep: '{build-days-to-keep}' - parameters: - - infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - lf-infra-maven-parameters: - mvn-opts: "{mvn-opts}" - mvn-params: "{mvn-params}" - mvn-version: "{mvn-version}" - - maven-exec: - maven-version: '{maven-version}' - - maven-params: - mvn-params: '{mvn-params}' - - string: - name: ARCHIVE_ARTIFACTS - default: "{archive-artifacts}" - description: Artifacts to archive to the logs server. - - integration-test-options: - test-options: '{robot-options}' + <<: *verification_maven_job_boiler_plate scm: - gerrit-trigger-scm: refspec: '' choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' - - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - builders: - - lf-infra-pre-build - - lf-jacoco-nojava-workaround - - lf-maven-install: - mvn-version: "{mvn-version}" - - lf-update-java-alternatives: - java-version: "{java-version}" - - lf-infra-docker-login: - global-settings-file: "{mvn-global-settings}" - settings-file: "{mvn-settings}" - # must provide maven settings AFTER docker-login due to its cleanup - - lf-provide-maven-settings: - global-settings-file: "{mvn-global-settings}" - settings-file: "{mvn-settings}" - - lf-maven-versions-plugin: - maven-versions-plugin: "{maven-versions-plugin}" - version-properties-file: "{version-properties-file}" - mvn-version: "{mvn-version}" - mvn-pom: "{mvn-pom}" - mvn-settings: "{mvn-settings}" - - inject: - properties-content: | - CONTAINER_PULL_REGISTRY={container-public-registry} - CONTAINER_PUSH_REGISTRY={container-snapshot-registry} - - lf-maven-build: - mvn-goals: "{mvn-goals}" - - integration-install-robotframework - - inject: - properties-file: 'env.properties' - - integration-run-project-test - - lf-provide-maven-settings-cleanup - triggers: - gerrit-trigger-patch-merged: server: '{server-name}' project: '{project}' branch: '{branch}' files: '**' - publishers: - - lf-infra-publish