From: Lasse Kaihlavirta Date: Fri, 15 Jan 2021 17:01:56 +0000 (+0200) Subject: Add unified review verification maven template X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=73824ee1f1b69e4cdf0b7a6fb21dc4107adb9d8e;p=ci-management.git Add unified review verification maven template - add new template that combines maven artifact and docker builds and CSIT execution triggered by review commit - this change needs to be coupled with https://gerrit.onap.org/r/c/ccsdk/distribution/+/116916 Issue-ID: INT-1823 Signed-off-by: Lasse Kaihlavirta Change-Id: I598598519429a155c7cf0b4d19dc5e4ca7b8c0d4 --- diff --git a/jjb/ccsdk/ccsdk-csit.yaml b/jjb/ccsdk/ccsdk-csit.yaml index ecabee04f..0064a9ef7 100644 --- a/jjb/ccsdk/ccsdk-csit.yaml +++ b/jjb/ccsdk/ccsdk-csit.yaml @@ -5,6 +5,13 @@ - '{project-name}-{stream}-project-csit' - '{project-name}-review-verification-{stream}' - '{project-name}-merge-verification-{stream}' + - '{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: 'ccsdk-distribution' recipients: 'dtimoney@att.com' # project name in gerrit diff --git a/jjb/integration/integration-templates-csit.yaml b/jjb/integration/integration-templates-csit.yaml index f07e6e453..2c673a01c 100644 --- a/jjb/integration/integration-templates-csit.yaml +++ b/jjb/integration/integration-templates-csit.yaml @@ -192,6 +192,131 @@ 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}' + + ###################### + # 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: "" + 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}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + 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-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '**' + publishers: + - lf-infra-publish + - job-template: # Job template for review verification jobs in # project-specific CSIT flow