Merge "Add arm64 jobs for libparc"
authorVratko Polak <vrpolak@cisco.com>
Thu, 3 Oct 2019 13:46:18 +0000 (13:46 +0000)
committerGerrit Code Review <gerrit@fd.io>
Thu, 3 Oct 2019 13:46:18 +0000 (13:46 +0000)
23 files changed:
jjb/csit/csit-func.yaml
jjb/csit/csit-hc2vpp.yaml
jjb/csit/csit-macros.yaml [new file with mode: 0644]
jjb/csit/csit-perf.yaml
jjb/csit/csit-tox.yaml
jjb/csit/csit-vpp-device.yaml
jjb/csit/csit.yaml
jjb/csit/include-raw-csit-cpta.sh
jjb/csit/include-raw-csit-perf-timed.sh
jjb/csit/include-raw-csit-perf-verify.sh
jjb/global-macros.yaml
jjb/hicn/include-raw-hicn-docs.sh
jjb/sweetcomb/include-raw-sweetcomb-build.sh
jjb/sweetcomb/sweetcomb.yaml
jjb/udpi/udpi.yaml [new file with mode: 0644]
jjb/vpp/check_crc.sh [new file with mode: 0644]
jjb/vpp/docs.yaml
jjb/vpp/include-raw-vpp-arm-build.sh
jjb/vpp/include-raw-vpp-build.sh
jjb/vpp/include-raw-vpp-coverity.sh [new file with mode: 0644]
jjb/vpp/vpp-macros.yaml
jjb/vpp/vpp.yaml
packer/provision/local-builder.yaml

index b101b09..565aefc 100644 (file)
       - master:
           branch: 'master'
           branch-id: 'oper'
-      - '1904':
-          branch: 'rls1904'
-          branch-id: 'oper-rls1904'
     stream:
       - master:
           branch: 'master'
-      - '1807':
-          branch: 'rls1807'
-      - '1810':
-          branch: 'rls1810'
       - '1901':
           branch: 'rls1901'
       - '1904':
           branch: 'rls1904'
+      - '1908_1':
+          branch: 'rls1908_1'
 
 - job-template:
     name: 'csit-vpp-verify-{stream_timed}-{os}-weekly'
           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.
+      # Can be removed when this job is no longer needed for full API coverage.
+      - csit-fail-on-crc-mismatch-parameter:
+          fail-on-crc-mismatch: 'True'
 
     scm:
       - gerrit-trigger-scm:
           build-timeout: '{build-timeout}'
 
     triggers:
-      - gerrit-trigger-patch-submitted:
+      - gerrit-trigger-manually-triggered:
           name: '{project}'
           branch: '{branch}'
+          comment-trigger-value: 'csit-virltest'
 
     builders:
       - shell:
index aeead71..9944e92 100644 (file)
     stream:
       - master:
           branch: 'master'
-      - '1810':
-          branch: 'rls1810'
-          branch-id: 'oper-rls1810'
       - '1901':
           branch: 'rls1901'
           branch-id: 'oper-rls1901'
       - '1904':
           branch: 'rls1904'
           branch-id: 'oper-rls1904'
+      - '1908':
+          branch: 'rls1908'
+          branch-id: 'oper-rls1908'
 
 - job-template:
     name: 'csit-hc2vpp-verify-func-{stream}-{os}'
diff --git a/jjb/csit/csit-macros.yaml b/jjb/csit/csit-macros.yaml
new file mode 100644 (file)
index 0000000..16e349b
--- /dev/null
@@ -0,0 +1,49 @@
+---
+- trigger:
+    name: gerrit-trigger-csit-vpp-devicetest-full
+    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:
+    name: gerrit-trigger-csit-vpp-devicetest-manual
+    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: '{skip-vote}'
+            failed: '{skip-vote}'
+            unstable: '{skip-vote}'
+            notbuilt: '{skip-vote}'
\ No newline at end of file
index 6d4fb96..dc30b14 100644 (file)
       - 'csit-vpp-perf-mrr-daily-master{node-arch}':
           node-arch:
             - ''
+            - -2n-clx
             - -2n-skx
             - -2n-dnv
             - -3n-skx
             - -3n-dnv
             - -3n-tsh:
                 executor: 'ubuntu1804arm-us'
-      - 'csit-vpp-perf-mrr-weekly-master-2n-skx'
+                vpp-mrr-daily-periodicity: '0 14 * * 0'
+      - 'csit-vpp-perf-mrr-weekly-master-{node-arch}':
+          node-arch:
+            - 2n-clx
+            - 2n-skx
       - 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}':
           node-arch:
+            - 2n-clx
             - 2n-skx
             - 3n-skx
             - 3n-hsw
@@ -38,6 +44,7 @@
       - 'csit-dpdk-perf-mrr-weekly-master{node-arch}':
           node-arch:
             - ''
+            - -2n-clx
             - -2n-skx
             - -3n-skx
       - 'csit-ligato-perf-verify-{stream}-{node-arch}'
     ligato-executor: 'ubuntu1804-basebuild-4c-4g'
     branch: 'master'
     branch-id: 'oper'
+    vpp-mrr-daily-periodicity: '0 2,14 * * *'
     stream:
       - master:
           branch: 'master'
           branch-id: 'oper'
           executor: 'ubuntu1804-us'
-      - '1807':
-          branch: 'rls1807'
-          branch-id: 'oper-rls1807'
-          executor: 'ubuntu1604-basebuild-8c-32g'
-      - '1810':
-          branch: 'rls1810'
-          branch-id: 'oper-rls1810'
-          executor: 'ubuntu1604-basebuild-8c-32g'
       - '1901':
           branch: 'rls1901'
           branch-id: 'oper-rls1901'
           branch: 'rls1904'
           branch-id: 'oper-rls1904'
           executor: 'ubuntu1804-us'
+      - '1908_1':
+          branch: 'rls1908_1'
+          branch-id: 'oper-rls1908_1'
+          executor: 'ubuntu1804-us'
 
     build-artifact-num-to-keep: 10
     node-arch:
+      - 2n-clx
       - 2n-skx
       - 2n-dnv
       - 3n-skx
           name: ARCHIVE_ARTIFACTS
           default: '{archive-artifacts}'
           description: Artifacts to archive to the logs server.
+      # This is a manually-triggered verify job, part of API coverage.
+      # CRC checking is needed to ensure vpp crc job breaks only when intended.
+      # Can be removed when this job is no longer needed for full API coverage.
+      - csit-fail-on-crc-mismatch-parameter:
+          fail-on-crc-mismatch: 'True'
 
     scm:
       - gerrit-trigger-scm:
           build-timeout: '{build-timeout}'
 
     triggers:
-      - timed: '0 2,14 * * *'
+      - timed: '{vpp-mrr-daily-periodicity}'
 
     builders:
       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'csit-vpp-perf-mrr-weekly-master-2n-skx'
+    name: 'csit-vpp-perf-mrr-weekly-master-{node-arch}'
 
     description: |
       <ul>
           <li>objective
               <ul>
-                  <li>check vpp perf mrr weekly on 2n-skx
+                  <li>check vpp perf mrr weekly on {node-arch}
               </ul>
           <li>perf test-cases selection
               <ul>
index 8381662..49603a1 100644 (file)
@@ -14,6 +14,8 @@
           branch: 'rls1901'
       - '1904':
           branch: 'rls1904'
+      - '1908_1':
+          branch: 'rls1908_1'
 
 - job-template:
     name: 'csit-verify-tox-{stream}'
index 30fb10c..70dee6d 100644 (file)
       - '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-master-ubuntu1804-1n-tx2-csit-verify-hourly'
+      - 'csit-vpp-device-master-ubuntu1804-1n-tx2-vpp-verify-hourly'
 
     project: 'csit'
     executor: 'vpp-csit-device'
     branch: 'master'
     branch-id: 'oper'
+    trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
     stream_timed:
       - master:
           branch: 'master'
           branch-id: 'oper'
-      - '1904':
-          branch: 'rls1904'
-          branch-id: 'oper-rls1904'
     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'
+      - '1908':
+          branch: 'rls1908_1'
+          branch-id: 'oper-rls1908_1'
     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'
+      - stream_timed: '1908'
+        os: 'ubuntu1804'
+        node-arch: '1n-tx2'
+      - stream_timed: 'master'
         os: 'ubuntu1804'
         node-arch: '1n-tx2'
 
           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:
             - '*.*'
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'csit-vpp-device-master-ubuntu1804-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>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: jjb/csit/include-raw-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-ubuntu1804-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>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: jjb/csit/include-raw-csit-device-semiweekly.sh
+
+    publishers:
+      - robot:
+          output-path: 'csit/archive'
+          other-files:
+            - '*.*'
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
index 5c8743e..34c6cab 100644 (file)
     description: 'CSIT Jenkins jobs.'
 
     jobs:
-      - 'csit-docs-verify-{stream}'
       - 'csit-docs-merge-{stream_timed}'
       - 'csit-report-merge-{stream}'
-      - 'csit-report-merge-1901_2'
-      - 'csit-report-merge-1904_1'
       - 'csit-trending-daily-master'
 
     project: 'csit'
     branch: 'master'
     executor: 'ubuntu1804-us'
+    executor-large: 'ubuntu1804-l'
     build-artifact-num-to-keep: 10
     stream_timed:
       - master:
           branch: 'master'
           executor: 'ubuntu1804-us'
-      - '1904':
-          branch: 'rls1904'
-          executor: 'ubuntu1804-us'
     stream:
       - master:
           branch: 'master'
           executor: 'ubuntu1804-us'
-      - '1807':
-          branch: 'rls1807'
-          executor: 'ubuntu1604-basebuild-4c-4g'
-      - '1810':
-          branch: 'rls1810'
-          executor: 'ubuntu1604-basebuild-4c-4g'
       - '1901':
           branch: 'rls1901'
           executor: 'ubuntu1604-basebuild-4c-4g'
       - '1904':
           branch: 'rls1904'
           executor: 'ubuntu1804-us'
+      - '1908':
+          branch: 'rls1908'
+      - '1908_1':
+          branch: 'rls1908_1'
 
 - project:
     name: csit-view
       - project-view
     project-name: csit
 
-
-- job-template:
-    name: 'csit-docs-verify-{stream}'
-
-    project-type: freestyle
-    node: '{executor}'
-    concurrent: true
-    archive-artifacts: 'resources/tools/doc_gen/csit.docs.tar.gz'
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: 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}'
-      - maven-exec:
-          maven-version: 'mvn33-new'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
-
-    scm:
-      - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-
-    wrappers:
-      - fdio-infra-wrappers-non-activity-timeout:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          name: '{project}'
-          branch: '{branch}'
-
-    builders:
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'csit-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - provide-maven-settings:
-          settings-file: 'csit-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape: include-raw-csit-docs.sh
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-
 - job-template:
     name: 'csit-docs-merge-{stream_timed}'
 
     project-type: freestyle
     node: '{executor}'
     concurrent: true
-    archive-artifacts: 'resources/tools/doc_gen/csit.docs.tar.gz'
     allow-empty: 'true'
     fingerprint: false
     only-if-success: true
     name: 'csit-report-merge-{stream}'
 
     project-type: freestyle
-    node: 'ubuntu1604-basebuild-8c-32g'
+    node: '{executor-large}'
     concurrent: false
-    archive-artifacts: 'resources/tools/presentation/csit.report.tar.gz'
     allow-empty: 'true'
     fingerprint: false
     only-if-success: true
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
-- job-template:
-    name: 'csit-report-merge-1901_2'
-
-    project-type: freestyle
-    node: 'ubuntu1604-basebuild-8c-32g'
-    concurrent: false
-    archive-artifacts: 'resources/tools/presentation/csit.report.tar.gz'
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: 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: 'rls1901_2'
-      - maven-exec:
-          maven-version: 'mvn33-new'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
-
-    scm:
-      - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'default'
-
-    wrappers:
-      - fdio-infra-wrappers-non-activity-timeout:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit:
-          server-name: 'Primary'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'run-report'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/rls1901_2'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-
-    builders:
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'csit-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - provide-maven-settings:
-          settings-file: 'csit-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape: include-raw-csit-report.sh
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-
-- job-template:
-    name: 'csit-report-merge-1904_1'
-
-    project-type: freestyle
-    node: 'ubuntu1604-basebuild-8c-32g'
-    concurrent: false
-    archive-artifacts: 'resources/tools/presentation/csit.report.tar.gz'
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: 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: 'rls1904_1'
-      - maven-exec:
-          maven-version: 'mvn33-new'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
-
-    scm:
-      - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'default'
-
-    wrappers:
-      - fdio-infra-wrappers-non-activity-timeout:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit:
-          server-name: 'Primary'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'run-report'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/rls1904_1'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-
-    builders:
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'csit-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - provide-maven-settings:
-          settings-file: 'csit-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape: include-raw-csit-report.sh
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-
 - job-template:
     name: 'csit-trending-daily-master'
 
     project-type: freestyle
-    node: 'ubuntu1604-basebuild-8c-32g'
+    node: '{executor-large}'
     concurrent: false
 
     build-discarder:
index e3a1184..8225745 100644 (file)
@@ -9,21 +9,27 @@ set -xe -o pipefail
 [ "${SECONDARY_BUILD_DIR}" ] || SECONDARY_BUILD_DIR="${DOC_DIR}_new/_build"
 [ "${SITE_DIR}" ] || SITE_DIR="build-root/docs/deploy-site"
 [ "${RESOURCES_DIR}" ] || RESOURCES_DIR="${SITE_DIR}/src/site/resources/trending"
-[ "${SECONDARY_RESOURCES_DIR}" ] || SECONDARY_RESOURCES_DIR="${RESOURCES_DIR}/new"
+[ "${STATIC_VPP_DIR}" ] || STATIC_VPP_DIR="${RESOURCES_DIR}/_static/vpp"
 [ "${MVN}" ] || MVN="/opt/apache/maven/bin/mvn"
+[ "${FAILED_TESTS}" ] || FAILED_TESTS="${STATIC_VPP_DIR}/trending-failed-tests.txt"
+
+# Create a text file with email body in case the build fails:
+cd "${WORKSPACE}"
+mkdir -p "${STATIC_VPP_DIR}"
+EMAIL_BODY="ERROR: The build number ${BUILD_NUMBER} of the job ${JOB_NAME} failed. For more information see: ${BUILD_URL}"
+echo "${EMAIL_BODY}" > "${FAILED_TESTS}"
 
 cd "${DOC_DIR}"
 chmod +x ./run_cpta.sh
 STATUS=$(./run_cpta.sh | tail -1)
 
 cd "${WORKSPACE}"
+rm -rf "${SITE_DIR}/"*
 
 mkdir -p "${RESOURCES_DIR}"
-mv -f ${BUILD_DIR}/* "${RESOURCES_DIR}"
-if [ -d "${SECONDARY_BUILD_DIR}" ]; then
-    mkdir -p "${SECONDARY_RESOURCES_DIR}"
-    mv -f "${SECONDARY_BUILD_DIR}"/* "${SECONDARY_RESOURCES_DIR}"
-fi
+ls "${RESOURCES_DIR}"
+mv -f "${BUILD_DIR}/"* "${RESOURCES_DIR}"
+
 cd "${SITE_DIR}"
 
 cat > pom.xml << EOF
index 55605d7..99605c7 100644 (file)
@@ -1,52 +1,38 @@
-#!/bin/bash
-set -xeu -o pipefail
-
-# check BRANCH_ID value
-if [ "$BRANCH_ID" == "" ]; then
-    echo "branch_id not provided => 'master' will be used"
-    BRANCH_ID="master"
-fi
-
-# make sure there is no csit directory
-if [ -d "./csit/" ]; then
-    rm -rf ./csit/
-fi
-
-# clone csit
-git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit
-
-# if the git clone fails, complain clearly and exit
-if [ $? != 0 ]; then
-    echo "Failed to run: git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit"
-    exit 1
-fi
-
-cd csit
-
-# get the latest verified version of the required branch
-BRANCH_NAME=$(echo $(git branch -r | grep -E "${BRANCH_ID}-[0-9]+" | tail -n 1))
-
-if [ "${BRANCH_NAME}" == "" ]; then
-    echo "No verified version found for requested branch - exiting"
-    exit 1
-fi
-
-# remove 'origin/' from the branch name
-BRANCH_NAME=$(echo ${BRANCH_NAME#origin/})
-
-# checkout to the required branch
-git checkout ${BRANCH_NAME}
-
-# execute csit bootstrap script if it exists
-if [ -e bootstrap-verify-perf.sh ]
-then
-    # make sure that bootstrap.sh is executable
-    chmod +x bootstrap-verify-perf.sh
-    # run the script
-    ./bootstrap-verify-perf.sh
+#!/usr/bin/env bash
+
+# Copyright (c) 2019 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:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -exuo pipefail
+
+# Clone CSIT git repository and proceed with entry script located there.
+#
+# Variables read:
+# - WORKSPACE - Jenkins workspace to create csit subdirectory in.
+# - CSIT_REF - Override ref of CSIT git repository to checkout.
+# Directories updated:
+# - ${WORKSPACE}/csit - Created, holding a checked out CSIT repository.
+# - Multiple other side effects by entry script(s), see CSIT repository.
+
+cd "${WORKSPACE}"
+git clone https://gerrit.fd.io/r/csit --depth=1 --no-single-branch --no-checkout
+pushd "${WORKSPACE}/csit"
+if [[ -n "${CSIT_REF-}" ]]; then
+    git fetch --depth=1 https://gerrit.fd.io/r/csit "${CSIT_REF}"
+    git checkout FETCH_HEAD
 else
-    echo 'ERROR: No bootstrap-verify-perf.sh found'
-    exit 1
+    git checkout HEAD
 fi
-
-# vim: ts=4 ts=4 sts=4 et :
+popd
+csit_entry_dir="${WORKSPACE}/csit/resources/libraries/bash/entry"
+source "${csit_entry_dir}/with_oper_for_vpp.sh" "bootstrap_verify_perf.sh"
index b5026f4..718b580 100644 (file)
@@ -1,6 +1,19 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
-set -xeu -o pipefail
+# Copyright (c) 2019 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:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -exuo pipefail
 
 if [[ ${GERRIT_EVENT_TYPE} == 'comment-added' ]]; then
     TRIGGER=`echo ${GERRIT_EVENT_COMMENT_TEXT} \
@@ -8,23 +21,8 @@ if [[ ${GERRIT_EVENT_TYPE} == 'comment-added' ]]; then
 else
     TRIGGER=''
 fi
-
-# grep to see where minion is running
-grep search /etc/resolv.conf  || true
-
 # Export test tags as string.
 export TEST_TAG_STRING=${TRIGGER#$"perftest"}
 
-# execute csit bootstrap script if it exists
-if [ ! -e bootstrap-verify-perf.sh ]
-then
-    echo 'ERROR: No bootstrap-verify-perf.sh found'
-    exit 1
-fi
-
-# make sure that bootstrap-verify-perf.sh is executable
-chmod +x bootstrap-verify-perf.sh
-# run the script
-./bootstrap-verify-perf.sh
-
-# vim: ts=4 ts=4 sts=4 et :
+csit_entry_dir="${WORKSPACE}/resources/libraries/bash/entry"
+source "${csit_entry_dir}/bootstrap_verify_perf.sh"
index c4f081b..a953421 100644 (file)
           default: '{arch}'
           description: "Architecture parameter"
 
+- parameter:
+    name: csit-fail-on-crc-mismatch-parameter
+    parameters:
+      - string:
+          name: FDIO_CSIT_FAIL_ON_CRC_MISMATCH
+          default: '{fail-on-crc-mismatch}'
+          description: "If true, CRC is checked, else compatibility is tested."
+
 - parameter:
     name: gerrit-event-type-parameter
     parameters:
index 7b07595..1bb4f30 100644 (file)
@@ -29,7 +29,7 @@ echo "Current directory: $(pwd)"
 update_cmake_repo
 mkdir -p build
 pushd build
-cmake -DBUILD_HICNPLUGIN=OFF -DBUILD_HICNLIGHT=OFF -DBUILD_LIBTRANSPORT=OFF -DBUILD_UTILS=OFF -DBUILD_APPS=OFF ..
+cmake -DBUILD_HICNPLUGIN=OFF -DBUILD_HICNLIGHT=OFF -DBUILD_LIBTRANSPORT=OFF -DBUILD_UTILS=OFF -DBUILD_APPS=OFF -DBUILD_CTRL=OFF ..
 make doc
 popd
 
index b03b0ef..639d7fd 100644 (file)
@@ -22,12 +22,20 @@ function setup {
                 echo "Deleting: /etc/apt/sources.list.d/99fd.io.list"
                 sudo rm /etc/apt/sources.list.d/99fd.io.list
             fi
+            if [ -f /etc/apt/sources.list.d/fdio_master.list ];then
+                echo "Deleting: /etc/apt/sources.list.d/fdio_master.list"
+                sudo rm /etc/apt/sources.list.d/fdio_master.list
+            fi
             curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.deb.sh | sudo bash
         elif [ "$OS_ID" == "centos" ]; then
             if [ -f /etc/yum.repos.d/fdio-master.repo ]; then
                 echo "Deleting: /etc/yum.repos.d/fdio-master.repo"
                 sudo rm /etc/yum.repos.d/fdio-master.repo
             fi
+            if [ -f /etc/yum.repos.d/fdio_master.repo ]; then
+                echo "Deleting: /etc/yum.repos.d/fdio_master.repo"
+                sudo rm /etc/yum.repos.d/fdio_master.repo
+            fi
             curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.rpm.sh | sudo bash
         fi
     fi
index 803a781..13b1134 100644 (file)
@@ -32,6 +32,9 @@
       - master:
           branch: 'master'
           repo-stream-part: 'master'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
diff --git a/jjb/udpi/udpi.yaml b/jjb/udpi/udpi.yaml
new file mode 100644 (file)
index 0000000..2b02518
--- /dev/null
@@ -0,0 +1,186 @@
+---
+#########################################################################
+#
+# Copyright (c) 2019 Intel 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:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#########################################################################
+
+- project:
+    name: udpi
+    jobs:
+      - 'udpi-verify-{stream}-{os}'
+      - 'udpi-merge-{stream}-{os}'
+
+    project: 'udpi'
+    os:
+      - ubuntu1604:
+          repo-os-part: 'ubuntu.xenial.main'
+      - centos7:
+          repo-os-part: 'centos7'
+    stream:
+      - master:
+          branch: 'master'
+          repo-stream-part: 'master'
+
+- project:
+    name: udpi-view
+    views:
+      - project-view
+    project-name: udpi
+
+- job-template:
+    name: 'udpi-verify-{stream}-{os}'
+
+    project-type: freestyle
+    node: '{os}-us'
+    concurrent: true
+    archive-artifacts: >
+      **/build-root/build-package/*.rpm
+      **/build-root/build-package/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: 100
+      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}'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.{repo-os-part}'
+      - stream-parameter:
+          stream: '{stream}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: 120
+
+    triggers:
+      - gerrit-trigger-checkstyle:
+          name: '{project}'
+          branch: '{branch}'
+      - gerrit-trigger-patch-submitted:
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - config-file-provider:
+          files:
+            - file-id: '.packagecloud'
+              target: '/root'
+      - config-file-provider:
+          files:
+            - file-id: 'packagecloud_api'
+              target: '/root'
+
+    publishers:
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+      - naginator:
+          rerun-unstable-builds: false
+          max-failed-builds: 1
+          fixed-delay: 90
+- job-template:
+    name: 'udpi-merge-{stream}-{os}'
+
+    project-type: freestyle
+    node: '{os}-us'
+    archive-artifacts: >
+      **/build-root/build-package/*.rpm
+      **/build-root/build-package/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: 100
+      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}'
+      - stream-parameter:
+          stream: '{stream}'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.{repo-os-part}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - config-file-provider:
+          files:
+            - file-id: '.packagecloud'
+              target: '/root'
+      - config-file-provider:
+          files:
+            - file-id: 'packagecloud_api'
+              target: '/root'
+
+    publishers:
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+      - naginator:
+          rerun-unstable-builds: false
+          max-failed-builds: 1
+          fixed-delay: 90
+- project:
+    name: udpi-info
+    project-name: udpi
+    jobs:
+      - gerrit-info-yaml-verify
+    build-node: centos7-builder-4c-4g
+    project: udpi
+    branch: master
diff --git a/jjb/vpp/check_crc.sh b/jjb/vpp/check_crc.sh
new file mode 100644 (file)
index 0000000..71d960a
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2019 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:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -exuo pipefail
+
+# Clone CSIT git repository and proceed with entry script located there.
+#
+# Variables read:
+# - WORKSPACE - Jenkins workspace to create csit subdirectory in.
+# - CSIT_REF - Override ref of CSIT git repository to checkout.
+# Directories updated:
+# - ${WORKSPACE}/csit - Created, holding a checked out CSIT repository.
+# - Multiple other side effects by entry script(s), see CSIT repository.
+
+cd "${WORKSPACE}"
+git clone https://gerrit.fd.io/r/csit --depth=1 --no-single-branch --no-checkout
+pushd "${WORKSPACE}/csit"
+if [[ -n "${CSIT_REF-}" ]]; then
+    git fetch --depth=1 https://gerrit.fd.io/r/csit "${CSIT_REF}"
+    git checkout FETCH_HEAD
+else
+    git checkout HEAD
+fi
+popd
+csit_entry_dir="${WORKSPACE}/csit/resources/libraries/bash/entry"
+source "${csit_entry_dir}/with_oper_for_vpp.sh" "check_crc.sh"
index a4c8580..74f2930 100644 (file)
@@ -22,6 +22,9 @@
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
 
     type:
       - short
index 906e185..9de736a 100644 (file)
@@ -44,7 +44,6 @@ if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \
         [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ]
 then
     echo "Building using \"make verify\""
-    sed -i '33i\ \ DEPENDS api_headers' src/vat/CMakeLists.txt
     [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify SKIP_AARCH64=yes
 else
     echo "Building using \"make build-root/vagrant/build.sh\""
index 1fe995f..6fdaec1 100644 (file)
@@ -44,7 +44,7 @@ if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \
         [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ]
 then
     echo "Building using \"make verify\""
-    [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify
+    [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes TEST_JOBS=auto verify
 else
     echo "Building using \"make pkg-verify\""
     [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes pkg-verify
diff --git a/jjb/vpp/include-raw-vpp-coverity.sh b/jjb/vpp/include-raw-vpp-coverity.sh
new file mode 100644 (file)
index 0000000..47a316a
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+FILE="scan.txt"
+OUTPUT="output.txt"
+
+wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
+dpkg -i google-chrome-stable_current_amd64.deb || true
+apt-get install -f -y
+
+google-chrome --headless --disable-gpu -dump-dom --no-sandbox https://scan.coverity.com/projects/fd-io-vpp > $FILE
+
+grep -i '<dt>Newly detected</dt>' $FILE || exit 42
+
+NEW=$(grep -i -B 1 '<dt>Newly detected</dt>' $FILE | grep -Eo '[0-9]{1,4}')
+ELIM=$(grep -i -B 1 '<dt>Eliminated</dt>' $FILE | grep -Eo '[0-9]{1,4}')
+OUT=$(grep -i -B 1 '<dt>Outstanding</dt>' $FILE | grep -Eo '[0-9]{1,4}')
+
+#ls -lg $FILE
+#cat $FILE
+
+if [ "${OUT}" == "0" ]; then
+        echo 'Current outstanding issues are zero' > $OUTPUT
+        echo "Newly detected: $NEW" >> $OUTPUT
+               echo "Eliminated: $ELIM" >> $OUTPUT
+               echo "More details can be found at  https://scan.coverity.com/projects/fd-io-vpp/view_defects" >> $OUTPUT
+else
+        echo "Current number of outstanding issues are $OUT Failing job"
+        echo "Current number of outstanding issues are $OUT" > $OUTPUT
+        echo "Newly detected: $NEW" >> $OUTPUT
+               echo "Eliminated: $ELIM" >> $OUTPUT
+               echo "More details can be found at  https://scan.coverity.com/projects/fd-io-vpp/view_defects" >> $OUTPUT
+        exit 1
+fi
index 8b1fe65..eb491fa 100644 (file)
@@ -60,7 +60,7 @@
             notbuilt: true
 
 - trigger:
-    name: gerrit-trigger-csit-devicetest
+    name: gerrit-trigger-csit-devicetest-full
     triggers:
       - gerrit:
           server-name: 'Primary'
             failed: '{skip-vote}'
             unstable: '{skip-vote}'
             notbuilt: '{skip-vote}'
+
+- trigger:
+    name: gerrit-trigger-csit-devicetest-manual
+    triggers:
+      - gerrit:
+          server-name: 'Primary'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'devicetest'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{name}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+          skip-vote:
+            successful: '{skip-vote}'
+            failed: '{skip-vote}'
+            unstable: '{skip-vote}'
+            notbuilt: '{skip-vote}'
index eebe0a3..46a04fe 100644 (file)
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
 
 - project:
     name: vpp-clang
     jobs:
       - 'vpp-verify-{stream}-clang'
+      - 'vpp-coverity-{stream}'
 
     project: 'vpp'
     os:
@@ -57,6 +61,9 @@
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
     os: ubuntu1604
 
 - project:
@@ -67,6 +74,7 @@
     project: 'vpp'
     executor: 'vpp-csit-device'
     skip-vote: 'true'
+    trigger: 'gerrit-trigger-csit-devicetest-full'
     stream:
       - master:
           branch: 'master'
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
     os: ubuntu1804
     device-node-arch:
       - 1n-skx
       - 1n-tx2:
           executor: 'vpp-csit-arm-ubuntu18'
+          trigger: 'gerrit-trigger-csit-devicetest-manual'
     node-arch:
       - 2n-skx
       - 3n-skx
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
     os:
       - ubuntu1804:
           repo-os-part: 'ubuntu.bionic.main'
       - '1904':
           branch: 'stable/1904'
           repo-stream-part: 'stable.1904'
+      - '1908':
+          branch: 'stable/1908'
+          repo-stream-part: 'stable.1908'
     os:
       - ubuntu1804:
           repo-os-part: 'ubuntu-arm.bionic.main'
 
+# TODO: Merge with (e.g.) vpp-perpatch or similar,
+# when number of stable branches supported matches.
+- project:
+    name: vpp-api-crc
+    jobs:
+      - 'vpp-csit-verify-api-crc-{stream}'
+    project: 'vpp'
+    executor: 'vpp-csit-device'
+    skip-vote: 'false'
+    stream:
+      # TODO: Add stable/1908 when it is created.
+      - master:
+          branch: 'master'
+    os: ubuntu1804
+
+- project:
+    name: vpp-info
+    project-name: vpp
+    jobs:
+      - gerrit-info-yaml-verify
+    build-node: centos7-builder-4c-4g
+    project: vpp
+    branch: master
+
 - project:
     name: vpp-view
     views:
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
       - naginator:
           rerun-unstable-builds: false
           max-failed-builds: 1
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-          archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
+          maven-version: 'mvn36'
 
 - job-template:
     name: 'vpp-arm-verify-{stream}-{os}'
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
       - naginator:
           rerun-unstable-builds: false
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
 
 - job-template:
     name: 'vpp-checkstyle-verify-{stream}'
                 comment-contains-value: 'recheck'
             - comment-added-contains-event:
                 comment-contains-value: 'reverify'
+            # Following two are to cover missing functions of drafts going to review status
+            - comment-added-contains-event:
+                comment-contains-value: 'runtest'
+            - comment-added-contains-event:
+                comment-contains-value: 'This change is ready for review'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project}'
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
       - naginator:
           rerun-unstable-builds: true
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
       - naginator:
           rerun-unstable-builds: false
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
       - naginator:
           rerun-unstable-builds: false
           max-failed-builds: 1
           fixed-delay: 90
 
+- job-template:
+    name: 'vpp-coverity-{stream}'
+
+    project-type: freestyle
+    node: 'ubuntu1804-us'
+    concurrent: true
+
+    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'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
+      - stream-parameter:
+          stream: '{stream}'
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: ''
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '0 14 * * *'
+
+    builders:
+      - shell:
+          command: !include-raw-escape: include-raw-vpp-coverity.sh
+          unstable-return: 42
+
+    publishers:
+      - email-ext:
+          # yamllint disable-line rule:line-length
+          recipients: 'ejk@cisco.com'
+          reply-to: ''
+          content-type: 'text'
+          subject: 'Coverity run passing as of $BUILD_TIMESTAMP'
+          # yamllint disable-line rule:line-length
+          body: |
+                Coverity run passing.
+
+                ${{FILE,path="output.txt"}}
+          failure: false
+          success: true
+      - email-ext:
+          # yamllint disable-line rule:line-length
+          recipients: 'ejk@cisco.com'
+          reply-to: ''
+          content-type: 'text'
+          subject: 'Coverity run UNSTABLE as of $BUILD_TIMESTAMP'
+          # yamllint disable-line rule:line-length
+          body: |
+                Coverity run UNSTABLE.
+
+                Something went wrong with daily scan.
+          failure: false
+          unstable: true
+      - email-ext:
+          # yamllint disable-line rule:line-length
+          recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
+          reply-to: ''
+          content-type: 'text'
+          subject: 'Coverity run FAILED as of $BUILD_TIMESTAMP'
+          # yamllint disable-line rule:line-length
+          body: |
+                Coverity run failed today.
+
+                ${{FILE,path="output.txt"}}
+          failure: true
+      - email-ext:
+          # yamllint disable-line rule:line-length
+          recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
+          reply-to: ''
+          content-type: 'text'
+          subject: 'Coverity run as of $BUILD_TIMESTAMP'
+          # yamllint disable-line rule:line-length
+          body: |
+                Coverity run fixed today.
+
+                ${{FILE,path="output.txt"}}
+          failure: false
+          fixed: true
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn36'
+          archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
+
 - job-template:
     name: 'vpp-merge-{stream}-{os}'
 
 
     publishers:
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
       - naginator:
           rerun-unstable-builds: false
           max-failed-builds: 1
           build-timeout: '90'
 
     triggers:
-      - gerrit-trigger-csit-devicetest:
+      - '{trigger}':
           name: '{project}'
           branch: '{branch}'
           skip-vote: '{skip-vote}'
           output-path: 'csit_current/'
 
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
 
 - job-template:
     name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
           output-path: 'csit_current/0/'
 
       - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+          maven-version: 'mvn36'
 
-- project:
-    name: vpp-info
-    project-name: vpp
-    jobs:
-      - gerrit-info-yaml-verify
-    build-node: centos7-builder-4c-4g
-    project: vpp
-    branch: master
+- job-template:
+    name: 'vpp-csit-verify-api-crc-{stream}'
+
+    project-type: freestyle
+    node: '{os}-us'
+    concurrent: true
+    archive-artifacts: ''
+    latest-only: false
+
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: 100
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - gerrit-refspec-parameter
+      - gerrit-csit-refspec-parameter
+      - stream-parameter:
+          stream: '{stream}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+      # Not sure whether not failing has any useful usage,
+      # but it does not hurt to have some flexibility for future.
+      - csit-fail-on-crc-mismatch-parameter:
+          fail-on-crc-mismatch: 'True'
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - fdio-infra-wrappers-non-activity-timeout:
+          build-timeout: 300
+
+    triggers:
+      # TODO: Make other verify jobs trigger on success of this one,
+      # without breaking verification for VPP branches before stable/1908.
+      - gerrit-trigger-checkstyle:
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - shell:
+          !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
+      - shell:
+          !include-raw-escape: check_crc.sh
+      # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
+
+    publishers:
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn36'
index 99d0dac..c109676 100644 (file)
@@ -50,7 +50,6 @@
           - debian-xcontrol
           - pristine-tar
           - python-sphinx
-          - libstdc++5
           - python-scapy
           - inkscape
           - python-sphinx-rtd-theme