Add unified merge verification maven template 63/117063/1
authorLasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Fri, 22 Jan 2021 12:12:56 +0000 (14:12 +0200)
committerLasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Fri, 22 Jan 2021 12:12:56 +0000 (14:12 +0200)
 - add new template that combines maven artifact and docker builds
   and CSIT execution triggered by merge
 - take the template in use in CCSDK distribution CSIT
 - remove old merge verification and project-csit jobs from CCSDK
Issue-ID: INT-1833

Signed-off-by: Lasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Change-Id: Ic51c59b8e45b030003c6c26595f24872f70a33a7

jjb/ccsdk/ccsdk-csit.yaml
jjb/integration/integration-templates-csit.yaml

index b1eabb2..5f3b2cd 100644 (file)
@@ -2,14 +2,18 @@
 - project:
     name: ccsdk-distribution-csit
     jobs:
-      - '{project-name}-{stream}-project-csit'
-      - '{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}-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'
@@ -18,7 +22,6 @@
     stream:
       - 'master':
           branch: 'master'
-    artifact-type: 'maven'
     java-version: openjdk11
     mvn-version: 'mvn36'
     mvn-settings: 'ccsdk-distribution-settings'
index 2c673a0..86206db 100644 (file)
     publishers:
       - lf-infra-publish
 
+- job-template:
+    # Job template for unified merge 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 from master with maven
+    #  2. run CSIT job with the local images
+    #
+
+    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}'
+
+    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
+
 - job-template:
     # Job template for review verification jobs in 
     # project-specific CSIT flow