Merge "Add CSIT rls1908_2 branch"
[ci-management.git] / jjb / csit / csit-vpp-device.yaml
index b3d7f79..a34c170 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2020 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
+---
 - project:
     name: csit-vpp-device
     description: 'CSIT jenkins jobs.'
     os:
       - 'ubuntu1804'
-    topo:
-      - '1n'
-    arch:
-      - 'skx'
+    node-arch:
+      - '1n-skx'
+      - '1n-tx2':
+          executor: 'vpp-csit-arm-ubuntu18'
+          skip-vote: 'true'
+          trigger: 'gerrit-trigger-csit-vpp-devicetest-manual'
     jobs:
-      - 'csit-vpp-device-{stream}-{os}-{topo}-{arch}'
+      - 'csit-vpp-device-{stream}-{os}-{node-arch}'
+      - 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly':
+          stream:
+            - master:
+                branch: 'master'
+                branch-id: 'oper'
+            - '1908_2':
+                branch: 'rls1908_2'
+                branch-id: 'oper-rls1908_2'
+      - 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly':
+          stream:
+            - master:
+                branch: 'master'
+                branch-id: 'oper'
+            - '1908_2':
+                branch: 'rls1908_2'
+                branch-id: 'oper-rls1908_2'
+      - 'csit-vpp-device-master-{os}-1n-tx2-csit-verify-hourly'
+      - 'csit-vpp-device-master-{os}-1n-tx2-vpp-verify-hourly'
+
     project: 'csit'
+    executor: 'vpp-csit-device'
     branch: 'master'
     branch-id: 'oper'
+    trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
     stream:
       - master:
           branch: 'master'
           branch-id: 'oper'
-      - '1810':
-          branch: 'rls1810'
-          branch-id: 'oper-rls1810'
+      - '1908_2':
+          branch: 'rls1908_2'
+          branch-id: 'oper-rls1908_2'
+      - '2001':
+          branch: 'rls2001'
+          branch-id: 'oper-rls2001'
 
 - job-template:
-    name: 'csit-vpp-device-{stream}-{os}-{topo}-{arch}'
+    name: 'csit-vpp-device-{stream}-{os}-{node-arch}'
     description: |
       <ul>
           <li>objective
               </ul>
           <li>job
               <ul>
-                  <li>name: <b>csit-vpp-device-{stream}-{os}-{topo}-{arch}</b>
+                  <li>name: <b>csit-vpp-device-{stream}-{os}-{node-arch}</b>
                   <li>trigger: keyword in comment to csit patch:
                       <b>csit-devicetest tag_list</b>
               </ul>
+          <li>executor
+              <ul>
+                  <li>{executor}
+              </ul>
           <li>test-cases selection
               <ul>
                   <li>test-cases selected using trigger keyword followed by tags
       </ul>
 
     project-type: freestyle
-    node: 'foo'
+    node: '{executor}'
     concurrent: true
+    archive-artifacts: 'archive/*.*'
+    latest-only: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
       - gerrit-refspec-parameter
       - gerrit-event-type-parameter
       - gerrit-event-comment-text-parameter
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+      # This is an automatic verify job, part of API coverage.
+      # CRC checking is needed to ensure vpp crc job breaks only when intended.
+      # Unlikely to be removed, as this job is primary source of API coverage.
+      - csit-fail-on-crc-mismatch-parameter:
+          fail-on-crc-mismatch: 'True'
 
     scm:
       - gerrit-trigger-scm:
           build-timeout: '{build-timeout}'
 
     triggers:
-      - gerrit:
-          server-name: 'Primary'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'csit-devicetest'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
+      - '{trigger}':
+          project: '{project}'
+          branch: '{branch}'
+          skip-vote: '{skip-vote}'
+
+    builders:
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
+
+    publishers:
+      - robot:
+          output-path: archive
+          other-files:
+            - '*.*'
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly'
+    description: |
+      <ul>
+          <li>objective
+              <ul>
+                  <li>Validate latest vpp build from corresponding branch stored
+                      in nexus against verified CSIT codebase of corresponding
+                      branch.
+              </ul>
+          <li>executor
+              <ul>
+                  <li>{executor}
+              </ul>
+          <li>test-cases selection
+              <ul>
+                  <li>pre-selected test-cases
+                  <li>all test-cases are labelled with CSIT RF topic tags
+                      defined in <i>csit/docs/tag_documentation.rst</i>
+              </ul>
+          <li>default tags for vpp-device test type
+              <ul>
+                  <li>devicetest
+              </ul>
+          <li>results
+              <ul>
+                  <li>jjb verify: PASS/FAIL
+                  <li>present: no
+                  <li>analyse: no
+              </ul>
+      </ul>
+
+    project-type: freestyle
+    node: '{executor}'
+    concurrent: false
+    archive-artifacts: 'csit/archive/*.*'
+    latest-only: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: '{os}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    wrappers:
+      - fdio-infra-wrappers-non-activity-timeout:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '0 4 * * 2,6'
+
+      - gerrit-trigger-manually-triggered:
+          comment-trigger-value: 'csit-verify-vpp'
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
+      - inject:
+          properties-file: variables.prop
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-semiweekly.sh
+
+    publishers:
+      - robot:
+          output-path: 'csit/archive'
+          other-files:
+            - '*.*'
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly'
+    description: |
+      <ul>
+          <li>objective
+              <ul>
+                  <li>Validate CSIT code of corresponding branch against
+                      verified vpp build from corresponding branch.
+              </ul>
+          <li>executor
+              <ul>
+                  <li>{executor}
+              </ul>
+          <li>test-cases selection
+              <ul>
+                  <li>pre-selected test-cases
+                  <li>all test-cases are labelled with CSIT RF topic tags
+                      defined in <i>csit/docs/tag_documentation.rst</i>
+              </ul>
+          <li>default tags for vpp-device test type
+              <ul>
+                  <li>devicetest
+              </ul>
+          <li>results
+              <ul>
+                  <li>jjb verify: PASS/FAIL
+                  <li>present: no
+                  <li>analyse: no
+              </ul>
+      </ul>
+
+    project-type: freestyle
+    node: '{executor}'
+    concurrent: false
+    archive-artifacts: 'archive/*.*'
+    latest-only: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: '{os}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    scm:
+      - git-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          branch: '{branch}'
+
+    wrappers:
+      - fdio-infra-wrappers-non-activity-timeout:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '0 4 * * 0'
+
+      - gerrit-trigger-manually-triggered:
+          comment-trigger-value: 'csit-vpp-ref-verify'
+          name: '{project}'
+          branch: '{branch}'
 
     builders:
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
 
     publishers:
-      - archive-artifacts:
-          artifacts: 'archive/*.*'
-          latest-only: false
       - robot:
           output-path: archive
           other-files:
             - '*.*'
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'csit-vpp-device-master-{os}-1n-tx2-csit-verify-hourly'
+    description: |
+      <ul>
+          <li>objective
+              <ul>
+                  <li>Validate CSIT code of corresponding branch against
+                      verified vpp build from corresponding branch.
+              </ul>
+          <li>executor
+              <ul>
+                  <li>vpp-csit-arm-ubuntu18
+              </ul>
+          <li>test-cases selection
+              <ul>
+                  <li>pre-selected test-cases
+                  <li>all test-cases are labelled with CSIT RF topic tags
+                      defined in <i>csit/docs/tag_documentation.rst</i>
+              </ul>
+          <li>default tags for vpp-device test type
+              <ul>
+                  <li>devicetest
+              </ul>
+          <li>results
+              <ul>
+                  <li>jjb verify: PASS/FAIL
+                  <li>present: no
+                  <li>analyse: no
+              </ul>
+      </ul>
+
+    project-type: freestyle
+    node: 'vpp-csit-arm-ubuntu18'
+    concurrent: false
+    archive-artifacts: 'archive/*.*'
+    latest-only: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: 'ubuntu1804'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    scm:
+      - git-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          branch: '{branch}'
+
+    wrappers:
+      - fdio-infra-wrappers-non-activity-timeout:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '0 * * * *'
+
+    builders:
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
+
+    publishers:
+      - robot:
+          output-path: archive
+          other-files:
+            - '*.*'
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'csit-vpp-device-master-{os}-1n-tx2-vpp-verify-hourly'
+    description: |
+      <ul>
+          <li>objective
+              <ul>
+                  <li>Validate latest vpp build from corresponding branch stored
+                      in nexus against verified CSIT codebase of corresponding
+                      branch.
+              </ul>
+          <li>executor
+              <ul>
+                  <li>vpp-csit-arm-ubuntu18
+              </ul>
+          <li>test-cases selection
+              <ul>
+                  <li>pre-selected test-cases
+                  <li>all test-cases are labelled with CSIT RF topic tags
+                      defined in <i>csit/docs/tag_documentation.rst</i>
+              </ul>
+          <li>default tags for vpp-device test type
+              <ul>
+                  <li>devicetest
+              </ul>
+          <li>results
+              <ul>
+                  <li>jjb verify: PASS/FAIL
+                  <li>present: no
+                  <li>analyse: no
+              </ul>
+      </ul>
+
+    project-type: freestyle
+    node: 'vpp-csit-arm-ubuntu18'
+    concurrent: false
+    archive-artifacts: 'csit/archive/*.*'
+    latest-only: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: 'ubuntu1804'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    wrappers:
+      - fdio-infra-wrappers-non-activity-timeout:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '30 * * * *'
+
+    builders:
+      - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
+      - inject:
+          properties-file: variables.prop
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-semiweekly.sh
+
+    publishers:
+      - robot:
+          output-path: 'csit/archive'
+          other-files:
+            - '*.*'
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'