Merge "Add CSIT rls1908_2 branch"
[ci-management.git] / jjb / csit / csit-vpp-device.yaml
index 1f10883..a34c170 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2019 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:
       - 'ubuntu1804'
     node-arch:
       - '1n-skx'
-# Is there a good way to allow manual triggers for tx2?
-#      - '1n-tx2':
-#          executor: 'vpp-csit-arm-ubuntu18'
-#          skip-vote: 'true'
+      - '1n-tx2':
+          executor: 'vpp-csit-arm-ubuntu18'
+          skip-vote: 'true'
+          trigger: 'gerrit-trigger-csit-vpp-devicetest-manual'
     jobs:
       - 'csit-vpp-device-{stream}-{os}-{node-arch}'
-      - 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
-      - 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-weekly'
+      - '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'
-    stream_timed:
-      - master:
-          branch: 'master'
-          branch-id: 'oper'
-      - '1904':
-          branch: 'rls1904'
-          branch-id: 'oper-rls1904'
+    trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
     stream:
       - master:
           branch: 'master'
           branch-id: 'oper'
-      - '1810':
-          branch: 'rls1810'
-          branch-id: 'oper-rls1810'
-      - '1901':
-          branch: 'rls1901'
-          branch-id: 'oper-rls1901'
-      - '1904':
-          branch: 'rls1904'
-          branch-id: 'oper-rls1904'
-#    exclude:
-#      - stream: '1810'
-#        os: 'ubuntu1804'
-#        node-arch: '1n-tx2'
-#      - stream: '1901'
-#        os: 'ubuntu1804'
-#        node-arch: '1n-tx2'
-#      - stream: '1904'
-#        os: 'ubuntu1804'
-#        node-arch: '1n-tx2'
-#      - stream_timed: '1904'
-#        os: 'ubuntu1804'
-#        node-arch: '1n-tx2'
+      - '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}-{node-arch}'
                   <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
           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:
-            - patchset-created-event:
-                exclude-drafts: 'true'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'false'
-            - draft-published-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-            - 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: '{skip-vote}'
-            failed: '{skip-vote}'
-            unstable: '{skip-vote}'
-            notbuilt: '{skip-vote}'
+      - '{trigger}':
+          project: '{project}'
+          branch: '{branch}'
+          skip-vote: '{skip-vote}'
 
     builders:
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
 
     publishers:
       - robot:
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
+    name: 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly'
     description: |
       <ul>
           <li>objective
                       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
       - inject:
           properties-file: variables.prop
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
+          !include-raw-escape:
+          - ../scripts/csit/device-semiweekly.sh
 
     publishers:
       - robot:
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-weekly'
+    name: 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly'
     description: |
       <ul>
           <li>objective
                   <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
 
     builders:
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
+          !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-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:
             - '*.*'
       - 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'