Chore: Revert back to ubuntu1804-docker
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
index f07e6e4..95d8fb3 100644 (file)
@@ -42,7 +42,7 @@
           server: '{server-name}'
           project: 'integration/csit'
           branch: '{branch}'
-          files: '**/{project-name}/**'
+          files: '*/{project-name}/**'
 
     builders:
       - lf-update-java-alternatives:
           server: '{server-name}'
           project: 'integration/csit'
           branch: '{branch}'
-          files: '**/{project-name}/**'
+          files: '*/{project-name}/**'
       - timed: '@daily'
       - reverse:
           jobs: '{obj:trigger_jobs}'
           notify-every-unstable-build: false
           send-to-individuals: true
 
-- job-template:
-    # Job template for project-specific CSIT jobs
-    #
-    # The purpose of this job template is to execute
-    # project-specific CSIT test cases for docker image versions 
-    # identified by unique docker tag input parameter
-    #
+- verification_maven_job_boiler_plate: &verification_maven_job_boiler_plate
+    name: verification_maven_job_boiler_plate
+
+    ######################
+    # Default parameters #
+    ######################
+
+    branch: master
+    build-concurrent: false
+    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
+    container-public-registry: 'nexus3.onap.org:10001'
+    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-pom: ""
+    mvn-version: mvn36
+    stream: master
+    submodule-recursive: true
+    submodule-timeout: 10
+    submodule-disable: false
 
-    name: '{project-name}-{stream}-project-csit'
     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
-    build-node: 'ubuntu1804-docker-8c-8g'
     node: '{build-node}'
-    recipients: ''
     java-version: 'openjdk11'
-    python-version: python3
 
+    #####################
+    # Job Configuration #
+    #####################
+    concurrent: "{build-concurrent}"
     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}"
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: "{archive-artifacts}"
+          description: Artifacts to archive to the logs server.
       - integration-test-options:
           test-options: '{robot-options}'
-      - integration-unique-docker-tag:
-          unique-docker-tag: ''
-
-    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}'
+          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}
+      - lf-maven-build:
+          mvn-goals: "{mvn-goals}"
       - integration-install-robotframework
       - inject:
           properties-file: 'env.properties'
       - integration-run-project-test
-
+      - lf-provide-maven-settings-cleanup
     publishers:
       - integration-project-robot:
           unstable-if: 0.0
           send-to-individuals: true
 
 - job-template:
-    # Job template for review verification jobs in 
-    # project-specific CSIT flow
+    # 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. trigger snapshot docker build job
-    #  2. trigger CSIT job
+    #  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-{stream}'
-    disabled: '{disabled}'
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-8c-8g'
-    java-version: 'openjdk11'
+    name: '{project-name}-review-verification-maven-{stream}'
+
+    <<: *verification_maven_job_boiler_plate
 
-    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}'
     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-maven-install:
-          mvn-version: "{mvn-version}"
-      - lf-update-java-alternatives:
-          java-version: "{java-version}"
-      - lf-provide-maven-settings:
-          global-settings-file: "{mvn-global-settings}"
-          settings-file: "{mvn-settings}"
-      - trigger-builds:
-         -  project: "{project-name}-{stream}-{artifact-type}-docker-snapshot"
-            predefined-parameters: |
-              UNIQUE_DOCKER_TAG=$BUILD_TAG
-              PROJECT=$PROJECT
-              BRANCH=$BRANCH
-              GERRIT_REFSPEC=$GERRIT_REFSPEC
-            block: true
-      - trigger-builds:
-         -  project: "{project-name}-{stream}-project-csit"
-            predefined-parameters: |
-              UNIQUE_DOCKER_TAG=$BUILD_TAG
-              PROJECT=$PROJECT
-              BRANCH=$BRANCH
-              GERRIT_REFSPEC=$GERRIT_REFSPEC
-            block: true
     triggers:
       - gerrit-trigger-patch-submitted:
           server: '{server-name}'
           project: '{project}'
           branch: '{branch}'
           files: '**'
-    publishers:
-      - lf-infra-publish
 
 - job-template:
-    # Job template for merge verification jobs in 
-    # project-specific CSIT flow
+    # 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 trigger
-    # the following jobs in sequence:
-    #  1. snapshot docker build job
-    #  2. CSIT job
-    #  3. docker staging job
+    # 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-{stream}'
-    disabled: '{disabled}'
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-8c-8g'
-    java-version: 'openjdk11'
+    name: '{project-name}-merge-verification-maven-{stream}'
+
+    <<: *verification_maven_job_boiler_plate
 
-    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}'
     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-maven-install:
-          mvn-version: "{mvn-version}"
-      - lf-update-java-alternatives:
-          java-version: "{java-version}"
-      - lf-provide-maven-settings:
-          global-settings-file: "{mvn-global-settings}"
-          settings-file: "{mvn-settings}"
-      - trigger-builds:
-         -  project: "{project-name}-{stream}-{artifact-type}-docker-snapshot"
-            predefined-parameters: |
-              UNIQUE_DOCKER_TAG=$BUILD_TAG
-              PROJECT=$PROJECT
-              BRANCH=$BRANCH
-              GERRIT_REFSPEC=$GERRIT_REFSPEC
-            block: true
-      - trigger-builds:
-         -  project: "{project-name}-{stream}-project-csit"
-            predefined-parameters: |
-              UNIQUE_DOCKER_TAG=$BUILD_TAG
-              PROJECT=$PROJECT
-              BRANCH=$BRANCH
-              GERRIT_REFSPEC=$GERRIT_REFSPEC
-            block: true
-      - trigger-builds:
-         -  project: "{project-name}-{stream}-docker-staging"
-            predefined-parameters: |
-              UNIQUE_DOCKER_TAG=$BUILD_TAG
-              PROJECT=$PROJECT
-              BRANCH=$BRANCH
-              GERRIT_REFSPEC=$GERRIT_REFSPEC
-            block: true
     triggers:
       - gerrit-trigger-patch-merged:
           server: '{server-name}'
           project: '{project}'
           branch: '{branch}'
           files: '**'
-    publishers:
-      - lf-infra-publish
-