Merge "Add project-specific CSIT job template"
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
index 40a6a93..3ae98a2 100644 (file)
@@ -8,6 +8,7 @@
     node: '{build-node}'
     recipients: ''
     java-version: 'openjdk11'
+    python-version: python3
 
     properties:
       - lf-infra-properties:
           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: false
-
-    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: 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}'
-      - 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:
           jobs: '{obj:trigger_jobs}'
 
     builders:
+      - lf-infra-pre-build
       - lf-update-java-alternatives:
           java-version: '{java-version}'
       - integration-install-robotframework
           send-to-individuals: true
 
 - job-template:
-    name: '{project-name}-arm64-{stream}-csit-{functionality}'
-    disabled: false
+    name: '{project-name}-{stream}-project-csit-{functionality}'
+    disabled: '{disabled}'
 
     project-type: freestyle
-    build-node: 'ubuntu1804-docker-arm64-4c-2g'
+    build-node: 'ubuntu1804-docker-8c-8g'
     node: '{build-node}'
     recipients: ''
     java-version: 'openjdk11'
+    python-version: python3
 
     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}'
+          test-plan: 'plans/{functionality}'
       - integration-test-options:
           test-options: '{robot-options}'
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
           submodule-recursive: '{submodule-recursive}'
 
     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-update-java-alternatives:
           java-version: '{java-version}'
       - integration-install-robotframework
       - inject:
           properties-file: 'env.properties'
-      - integration-run-test
+      - integration-run-project-test
 
     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: false
-
+    name: '{project-name}-unified-review-{stream}-test'
+    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'
+          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}'
-      - 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: ''
-          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:
-          server: '{server-name}'
-          project: 'integration/csit'
-          branch: '{branch}'
-          files: '**/{project-name}/**'
-      - timed: '@daily'
-      - reverse:
-          jobs: '{obj:trigger_jobs}'
-
     builders:
+      - lf-infra-pre-build
+      - lf-maven-install:
+          mvn-version: "{mvn-version}"
       - 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
-
-- job-template:
-    name: '{project-name}-arm64-{stream}-csit-{functionality}-testng'
-    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}'
-      - html-publisher-dir:
-          html-dir: '{html-dir}'
-      - html-publisher-files:
-          html-files: '{html-files}'
-
-    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}'
-
+          java-version: "{java-version}"
+      - lf-provide-maven-settings:
+          global-settings-file: "{mvn-global-settings}"
+          settings-file: "{mvn-settings}"
+      - trigger-builds:
+         -  project: "{project-name}-{stream}-docker-golang-shell-daily"
+            condition: UNSTABLE_OR_BETTER
+            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-{review-functionality}'
+            condition: UNSTABLE_OR_BETTER
+            predefined-parameters: |
+              UNIQUE_DOCKER_TAG=$BUILD_TAG
+              PROJECT=$PROJECT
+              BRANCH=$BRANCH
+              GERRIT_REFSPEC=$GERRIT_REFSPEC
+            block: true
     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
-
+          files: '**'
     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
+