CSIT: Unify path for robot plugin
[ci-management.git] / jjb / csit / csit-vpp-device.yaml
index 5fd3282..d4dcdd3 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:
 # 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'
     jobs:
-      - 'csit-vpp-device-{stream}-{os}-{topo}-{arch}'
-      - 'csit-vpp-device-{stream_timed}-{os}-{topo}-{arch}-semiweekly'
-      - 'csit-vpp-device-{stream_timed}-{os}-{topo}-{arch}-weekly'
+      - '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'
+            - '2009_lts':
+                branch: 'rls2009_lts'
+                branch-id: 'oper-rls2009_lts'
+      - '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'
+            - '2009_lts':
+                branch: 'rls2009_lts'
+                branch-id: 'oper-rls2009_lts'
+
     project: 'csit'
+    executor: 'vpp-csit-device'
     branch: 'master'
     branch-id: 'oper'
-    stream_timed:
-      - master:
-          branch: 'master'
-          branch-id: 'oper'
-      - '1901':
-          branch: 'rls1901'
-          branch-id: 'oper-rls1901'
     stream:
       - master:
           branch: 'master'
           branch-id: 'oper'
-      - '1810':
-          branch: 'rls1810'
-          branch-id: 'oper-rls1810'
-      - '1901':
-          branch: 'rls1901'
-          branch-id: 'oper-rls1901'
+      - '1908_2':
+          branch: 'rls1908_2'
+          branch-id: 'oper-rls1908_2'
+      - '2005':
+          branch: 'rls2005'
+          branch-id: 'oper-rls2005'
+      - '2009':
+          branch: 'rls2009'
+          branch-id: 'oper-rls2009'
+      - '2009_lts':
+          branch: 'rls2009_lts'
+          branch-id: 'oper-rls2009_lts'
+    exclude:
+      - stream: '1908_2'
+        node-arch: '1n-tx2'
+      - stream: '2005'
+        node-arch: '1n-tx2'
 
 - 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: 'vpp-csit-device'
+    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:
-            - 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}'
+      - 'gerrit-trigger-csit-vpp-devicetest-full':
+          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/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
 
     publishers:
-      - archive-artifacts:
-          artifacts: 'archive/*.*'
-          latest-only: false
       - robot:
-          output-path: archive
+          output-path: 'archives'
           other-files:
             - '*.*'
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'csit-vpp-device-{stream_timed}-{os}-{topo}-{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
       </ul>
 
     project-type: freestyle
-    node: 'vpp-csit-device'
+    node: '{executor}'
     concurrent: false
+    archive-artifacts: 'csit/archive/*.*'
+    latest-only: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
       - inject:
           properties-file: variables.prop
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
+          !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-semiweekly.sh
 
     publishers:
-      - archive-artifacts:
-          artifacts: 'csit/archive/*.*'
-          latest-only: false
       - robot:
-          output-path: 'csit/archive'
+          output-path: 'archives'
           other-files:
             - '*.*'
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'csit-vpp-device-{stream_timed}-{os}-{topo}-{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
       </ul>
 
     project-type: freestyle
-    node: 'vpp-csit-device'
+    node: '{executor}'
     concurrent: false
+    archive-artifacts: 'archive/*.*'
+    latest-only: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           branch: '{branch}'
       - os-parameter:
           os: '{os}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
 
     scm:
       - git-scm:
 
     builders:
       - shell:
-          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
+          !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/csit/device-verify.sh
 
     publishers:
-      - archive-artifacts:
-          artifacts: 'archive/*.*'
-          latest-only: false
       - robot:
-          output-path: archive
+          output-path: 'archives'
           other-files:
             - '*.*'
       - fdio-infra-shiplogs: