Chore: Revert back to ubuntu1804-docker
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
index b6568ae..95d8fb3 100644 (file)
@@ -8,6 +8,7 @@
     node: '{build-node}'
     recipients: ''
     java-version: 'openjdk11'
+    python-version: python3
 
     properties:
       - lf-infra-properties:
@@ -41,7 +42,7 @@
           server: '{server-name}'
           project: 'integration/csit'
           branch: '{branch}'
-          files: '**/{project-name}/**'
+          files: '*/{project-name}/**'
 
     builders:
       - lf-update-java-alternatives:
           notify-every-unstable-build: false
           send-to-individuals: true
 
-- job-template:
-    name: '{project-name}-arm64-{stream}-verify-csit-{functionality}'
-    disabled: false
-
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-arm64-4c-2g'
-    node: '{build-node}'
-    recipients: ''
-    java-version: 'openjdk11'
-
-    properties:
-      - lf-infra-properties:
-          project: 'integration/csit'
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: 'integration/csit'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
-      - 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}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: 'integration/csit'
-          branch: '{branch}'
-          files: '**/{project-name}/**'
-
-    builders:
-      - lf-update-java-alternatives:
-          java-version: '{java-version}'
-      - integration-install-robotframework
-      - inject:
-          properties-file: 'env.properties'
-      - integration-run-test
-
-    publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
-      - lf-infra-publish
-      - email:
-          recipients: '{recipients}'
-          notify-every-unstable-build: false
-          send-to-individuals: true
-
-- job-template:
-    name: '{project-name}-{stream}-verify-csit-{functionality}-testng'
-    disabled: '{disabled}'
-
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-8c-8g'
-    node: '{build-node}'
-    recipients: ''
-    java-version: 'openjdk11'
-
-    properties:
-      - lf-infra-properties:
-          project: 'integration/csit'
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: 'integration/csit'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
-      - integration-test-options:
-          test-options: '{robot-options}'
-      - html-publisher-dir:
-          html-dir: '{html-dir}'
-      - html-publisher-files:
-          html-files: '{html-files}'
-
-    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}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: 'integration/csit'
-          branch: '{branch}'
-          files: '**/{project-name}/**'
-
-    builders:
-      - lf-update-java-alternatives:
-          java-version: '{java-version}'
-      - integration-install-robotframework
-      - inject:
-          properties-file: 'env.properties'
-      - integration-run-test
-
-    publishers:
-      - testng:
-          pattern: archives/testng-results.xml
-          escape-test-description: true
-          escape-exception-msg: true
-          show-failed-builds: true
-          unstable-on-skipped-tests: false
-          failure-on-failed-test-config: false
-      - junit:
-          results: archives/testng-results.xml
-          health-scale-factor: 1.0
-          allow-empty-results: true
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
-      - html-publisher:
-          allow-missing: true
-          dir: '{html-dir}'
-          files: '{html-files}'
-          keep-all: false
-          link-to-last-build: false
-          name: ExtentReport
-      - lf-infra-publish
-      - email:
-          recipients: '{recipients}'
-          notify-every-unstable-build: false
-          send-to-individuals: true
-
-- job-template:
-    name: '{project-name}-arm64-{stream}-verify-csit-{functionality}-testng'
-    disabled: '{disabled}'
-
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-arm64-4c-2g'
-    node: '{build-node}'
-    recipients: ''
-    java-version: 'openjdk11'
-
-    properties:
-      - lf-infra-properties:
-          project: 'integration/csit'
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: 'integration/csit'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
-      - integration-test-options:
-          test-options: '{robot-options}'
-      - html-publisher-dir:
-          html-dir: '{html-dir}'
-      - html-publisher-files:
-          html-files: '{html-files}'
-
-    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}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: 'integration/csit'
-          branch: '{branch}'
-          files: '**/{project-name}/**'
-
-    builders:
-      - lf-update-java-alternatives:
-          java-version: '{java-version}'
-      - integration-install-robotframework
-      - inject:
-          properties-file: 'env.properties'
-      - integration-run-test
-
-    publishers:
-      - testng:
-          pattern: archives/testng-results.xml
-          escape-test-description: true
-          escape-exception-msg: true
-          show-failed-builds: true
-          unstable-on-skipped-tests: false
-          failure-on-failed-test-config: false
-      - junit:
-          results: archives/testng-results.xml
-          health-scale-factor: 1.0
-          allow-empty-results: true
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
-      - html-publisher:
-          allow-missing: true
-          dir: '{html-dir}'
-          files: '{html-files}'
-          keep-all: false
-          link-to-last-build: false
-          name: ExtentReport
-      - lf-infra-publish
-      - email:
-          recipients: '{recipients}'
-          notify-every-unstable-build: false
-          send-to-individuals: true
-
 - job-template:
     name: '{project-name}-{stream}-csit-{functionality}'
     disabled: '{disabled}'
     node: '{build-node}'
     recipients: ''
     java-version: 'openjdk11'
+    python-version: python3
 
     properties:
       - lf-infra-properties:
           server: '{server-name}'
           project: 'integration/csit'
           branch: '{branch}'
-          files: '**/{project-name}/**'
+          files: '*/{project-name}/**'
       - timed: '@daily'
       - reverse:
           jobs: '{obj:trigger_jobs}'
 
     builders:
+      - lf-infra-pre-build
       - lf-update-java-alternatives:
           java-version: '{java-version}'
       - integration-install-robotframework
           notify-every-unstable-build: false
           send-to-individuals: true
 
-- job-template:
-    name: '{project-name}-arm64-{stream}-csit-{functionality}'
-    disabled: false
+- 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
+
+    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-arm64-4c-2g'
     node: '{build-node}'
-    recipients: ''
     java-version: 'openjdk11'
 
+    #####################
+    # Job Configuration #
+    #####################
+    concurrent: "{build-concurrent}"
     properties:
       - lf-infra-properties:
-          project: 'integration/csit'
+          project: '{project}'
           build-days-to-keep: '{build-days-to-keep}'
-
     parameters:
       - infra-parameters:
-          project: 'integration/csit'
+          project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
+      - 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}'
-
-    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}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: 'integration/csit'
-          branch: '{branch}'
-          files: '**/{project-name}/**'
-      - timed: '@daily'
-      - reverse:
-          jobs: '{obj:trigger_jobs}'
-
     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-test
-
+      - integration-run-project-test
+      - lf-provide-maven-settings-cleanup
     publishers:
-      - integration-robot:
+      - integration-project-robot:
           unstable-if: 0.0
           pass-if: 100.0
       - lf-infra-publish
           send-to-individuals: true
 
 - job-template:
-    name: '{project-name}-{stream}-csit-{functionality}-testng'
-    disabled: '{disabled}'
+    # 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
+    #
 
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-8c-8g'
-    node: '{build-node}'
-    recipients: ''
-    java-version: 'openjdk11'
+    name: '{project-name}-review-verification-maven-{stream}'
 
-    properties:
-      - lf-infra-properties:
-          project: 'integration/csit'
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: 'integration/csit'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
-      - integration-test-options:
-          test-options: '{robot-options}'
-      - html-publisher-dir:
-          html-dir: '{html-dir}'
-      - html-publisher-files:
-          html-files: '{html-files}'
+    <<: *verification_maven_job_boiler_plate
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
           submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - lf-infra-wrappers:
-          build-timeout: '{build-timeout}'
-          jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
     triggers:
-      - gerrit-trigger-patch-merged:
+      - gerrit-trigger-patch-submitted:
           server: '{server-name}'
-          project: 'integration/csit'
+          project: '{project}'
           branch: '{branch}'
-          files: '**/{project-name}/**'
-      - timed: '@daily'
-      - reverse:
-          jobs: '{obj:trigger_jobs}'
-
-    builders:
-      - lf-update-java-alternatives:
-          java-version: '{java-version}'
-      - integration-install-robotframework
-      - inject:
-          properties-file: 'env.properties'
-      - integration-run-test
-
-    publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
-      - testng:
-          pattern: archives/testng-results.xml
-          escape-test-description: true
-          escape-exception-msg: true
-          show-failed-builds: true
-          unstable-on-skipped-tests: false
-          failure-on-failed-test-config: false
-      - junit:
-          results: archives/testng-results.xml
-          health-scale-factor: 1.0
-          allow-empty-results: true
-      - html-publisher:
-          allow-missing: true
-          dir: '{html-dir}'
-          files: '{html-files}'
-          keep-all: false
-          link-to-last-build: false
-          name: ExtentReport
-      - lf-infra-publish
-      - email:
-          recipients: '{recipients}'
-          notify-every-unstable-build: false
-          send-to-individuals: true
+          files: '**'
 
 - job-template:
-    name: '{project-name}-arm64-{stream}-csit-{functionality}-testng'
-    disabled: '{disabled}'
+    # 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
+    #
 
-    project-type: freestyle
-    build-node: 'ubuntu1804-docker-arm64-4c-2g'
-    node: '{build-node}'
-    recipients: ''
-    java-version: 'openjdk11'
+    name: '{project-name}-merge-verification-maven-{stream}'
 
-    properties:
-      - lf-infra-properties:
-          project: 'integration/csit'
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: 'integration/csit'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-test-plan:
-          test-plan: 'plans/{project-name}/{functionality}'
-      - integration-test-options:
-          test-options: '{robot-options}'
-      - html-publisher-dir:
-          html-dir: '{html-dir}'
-      - html-publisher-files:
-          html-files: '{html-files}'
+    <<: *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}'
-
     triggers:
       - gerrit-trigger-patch-merged:
           server: '{server-name}'
-          project: 'integration/csit'
+          project: '{project}'
           branch: '{branch}'
-          files: '**/{project-name}/**'
-      - timed: '@daily'
-      - reverse:
-          jobs: '{obj:trigger_jobs}'
-
-    builders:
-      - lf-update-java-alternatives:
-          java-version: '{java-version}'
-      - integration-install-robotframework
-      - inject:
-          properties-file: 'env.properties'
-      - integration-run-test
-
-    publishers:
-      - integration-robot:
-          unstable-if: 0.0
-          pass-if: 100.0
-      - testng:
-          pattern: archives/testng-results.xml
-          escape-test-description: true
-          escape-exception-msg: true
-          show-failed-builds: true
-          unstable-on-skipped-tests: false
-          failure-on-failed-test-config: false
-      - junit:
-          results: archives/testng-results.xml
-          health-scale-factor: 1.0
-          allow-empty-results: true
-      - html-publisher:
-          allow-missing: true
-          dir: '{html-dir}'
-          files: '{html-files}'
-          keep-all: false
-          link-to-last-build: false
-          name: ExtentReport
-      - lf-infra-publish
-      - email:
-          recipients: '{recipients}'
-          notify-every-unstable-build: false
-          send-to-individuals: true
+          files: '**'