Add stable/2402 branch and remove stable/2306 branch to docker executor image scripts
[ci-management.git] / jjb / vpp / vpp.yaml
index f290ba3..4422988 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 Cisco and/or its affiliates.
+# Copyright (c) 2023 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:
     jobs:
       - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
     project: 'vpp'
-    os: 'ubuntu2004'
+    os:
+      - ubuntu2204
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
+      - '2310':
+          branch: 'stable/2310'
           branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
+      - '2402':
+          branch: 'stable/2402'
           branch-refspec: ''
     executor-arch: 'x86_64'
+
 # [end] VPP-CHECKSTYLE-X86_64 PROJECT
 
 # VPP-X86_64 PROJECT
       - 'vpp-merge-{stream}-{os}-{executor-arch}'
     project: 'vpp'
     make-parallel-jobs: '4'
-    make-test-os: 'ubuntu-20.04'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: 'debian-11'
+      - '2310':
+          branch: 'stable/2310'
           branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: 'debian-11'
+      - '2402':
+          branch: 'stable/2402'
           branch-refspec: ''
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: 'debian-11'
     os:
-      - debian10
       - debian11
       - ubuntu2004
+      - ubuntu2204
     executor-arch: 'x86_64'
-    exclude:
-      # os added in 22.06
-      - stream: '2202'
-        os: 'debian11'
 # [end] VPP-X86_64 PROJECT
 
+# VPP-GCC-X86_64 PROJECT
+- project:
+    name: vpp-gcc-x86_64
+    jobs:
+      - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
+    project: 'vpp'
+    make-parallel-jobs: '4'
+    os:
+      - ubuntu2204
+    executor-arch: 'x86_64'
+    stream:
+      - 'master':
+          branch: 'master'
+          branch-refspec: ''
+      - '2310':
+          branch: 'stable/2310'
+          branch-refspec: ''
+      - '2402':
+          branch: 'stable/2402'
+          branch-refspec: ''
+
+# [end] VPP-GCC-X86_64 PROJECT
+
 # VPP-DEBUG-X86_64 PROJECT
 #
 # Currently a periodic job due to intermittent failures.
       - 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
     project: 'vpp'
     make-parallel-jobs: '4'
-    make-test-os: 'ubuntu-20.04'
+    make-test-os: 'ubuntu-20.04 ubuntu-22.04'
     comment-trigger-value: 'debug-verify'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-          # Once per hour
-          periodicity: 'H * * * *'
-    os: 'ubuntu2004'
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+    os: 'ubuntu2204'
     executor-arch: 'x86_64'
+
 # [end] VPP-DEBUG-X86_64 PROJECT
 
-# VPP-GCC-X86_64 PROJECT
+# VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
+#
+# Currently a periodic job due to intermittent failures.
+# Limiting branches to master, since other branches
+# may not get fixes for the intermittent failures.
+#
 - project:
-    name: vpp-gcc-x86_64
+    name: vpp-dpdk-rdma-version-mismatch-x86_64
     jobs:
-      - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
+      - 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
     project: 'vpp'
+    make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+    comment-trigger-value: 'dpdk-rdma-version-mismatch'
+    stream:
+      - 'master':
+          branch: 'master'
+          # Once per day at 00:15
+          periodicity: '15 0 * * 0-6'
+    os: 'ubuntu2204'
     executor-arch: 'x86_64'
-    os: 'ubuntu2004'
+
+# [end] VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
+
+# VPP-COV-X86_64 PROJECT
+#
+# A per-patch job to produce code coverage.
+#
+# TODO: switch OS to ubuntu-22.04 once the skipping of intermittently failing
+#       tests are removed
+#
+- project:
+    name: vpp-cov-x86_64
+    jobs:
+      - 'vpp-cov-verify-{stream}-{os}-{executor-arch}'
+    project: 'vpp'
+    make-parallel-jobs: '4'
+    make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+    comment-trigger-value: 'gcov-report'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
-          branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
-          branch-refspec: ''
-# [end] VPP-GCC-X86_64 PROJECT
+          # Once per day at 00:25
+          periodicity: '25 0 * * 0-6'
+    os: 'ubuntu2004'
+    executor-arch: 'x86_64'
+
+# [end] VPP-COV-X86_64 PROJECT
 
 # VPP-AARCH64 PROJECT
 #
       - 'vpp-verify-{stream}-{os}-{executor-arch}'
       - 'vpp-merge-{stream}-{os}-{executor-arch}'
     project: 'vpp'
-    make-parallel-jobs: '16'
-    make-test-os: 'ubuntu-20.04'
+    make-parallel-jobs: '4'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: ''
+      - '2310':
+          branch: 'stable/2310'
           branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: ''
+      - '2402':
+          branch: 'stable/2402'
           branch-refspec: ''
+          make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+          make-test-multiworker-os: ''
     os:
       - ubuntu2004
+      - ubuntu2204
     executor-arch: 'aarch64'
 # [end] VPP-AARCH64 PROJECT
 
     project: 'vpp'
     skip-vote: 'false'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
+      - '2310':
+          branch: 'stable/2310'
           branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
+      - '2402':
+          branch: 'stable/2402'
           branch-refspec: ''
     testbed-arch:
-      - 1n-skx:
+      - 1n-spr:
           os: 'ubuntu2204'
           executor-arch: 'x86_64'
-      - 1n-tx2:
+          skip-vote: 'true'
+#      - 1n-tx2:
+#          os: 'ubuntu2204'
+#          executor-arch: 'aarch64'
+#          skip-vote: 'false'
+      - 1n-alt:
           os: 'ubuntu2204'
           executor-arch: 'aarch64'
           skip-vote: 'true'
-
+    exclude:
+      # 1n-alt testbed not supported
+      # in CSIT prior to 2402
+      - testbed-arch: 1n-alt
+        stream: '2310'
 # [end] VPP-CSIT-VERIFY-DEVICE PROJECT
 
 # VPP-CSIT-VERIFY-PERF PROJECT
     name: vpp-csit-verify-perf
     jobs:
       - 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
+      - 'vpp-csit-bisect-{stream}-{os}-{executor-arch}-{testbed-arch}'
     project: 'vpp'
     skip-vote: 'false'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
-          branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
-          branch-refspec: ''
     testbed-arch:
       - 2n-icx:
           os: 'ubuntu2204'
       - 2n-clx:
           os: 'ubuntu2204'
           executor-arch: 'x86_64'
+      - 2n-spr:
+          os: 'ubuntu2204'
+          executor-arch: 'x86_64'
       - 2n-zn2:
           os: 'ubuntu2204'
           executor-arch: 'x86_64'
       - 3n-icx:
           os: 'ubuntu2204'
           executor-arch: 'x86_64'
-      - 2n-dnv:
-          os: 'ubuntu2004'
-          executor-arch: 'x86_64'
-      - 3n-dnv:
-          os: 'ubuntu2004'
-          executor-arch: 'x86_64'
       - 3n-tsh:
           os: 'ubuntu2204'
           executor-arch: 'aarch64'
           executor-arch: 'aarch64'
           make-parallel-jobs: '16'
       - 3n-snr:
-          os: 'ubuntu2004'
+          os: 'ubuntu2204'
+          executor-arch: 'x86_64'
+      - 3n-icxd:
+          os: 'ubuntu2204'
+          executor-arch: 'x86_64'
+      - 3na-spr:
+          os: 'ubuntu2204'
+          executor-arch: 'x86_64'
+      - 3nb-spr:
+          os: 'ubuntu2204'
           executor-arch: 'x86_64'
-
 # [end] VPP-CSIT-VERIFY-PERF PROJECT
 
 # VPP-CSIT-API-CRC PROJECT
     executor-arch: 'x86_64'
     skip-vote: 'false'
     stream:
-      - master:
+      - 'master':
           branch: 'master'
           branch-refspec: ''
-      - '2202':
-          branch: 'stable/2202'
+      - '2310':
+          branch: 'stable/2310'
           branch-refspec: ''
-      - '2206':
-          branch: 'stable/2206'
+      - '2402':
+          branch: 'stable/2402'
           branch-refspec: ''
-    os: 'ubuntu2004'
+    os:
+      - 'ubuntu2204'
 # [end] VPP-CSIT-API-CRC PROJECT
 
 # LF RELENG VPP PROJECTS
             - draft-published-event
             - comment-added-contains-event:
                 comment-contains-value: 'checkstylecheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'docsonly'
             - comment-added-contains-event:
                 comment-contains-value: 'recheck'
             - comment-added-contains-event:
           make-parallel-jobs: '{make-parallel-jobs}'
       - make-test-os-parameter:
           make-test-os: '{make-test-os}'
+      - make-test-multiworker-os-parameter:
+          make-test-multiworker-os: '{make-test-multiworker-os}'
       - os-parameter:
           os: '{os}'
       - project-parameter:
           build-timeout: '{build-timeout}'
 
     triggers:
-      - timed: '{periodicity}'
-      - gerrit-trigger-manually-triggered:
-          comment-trigger-value: '{comment-trigger-value}'
+      - gerrit-trigger-checkstyle-nonvoting:
           name: '{project}'
           branch: '{branch}'
 
 
     publishers:
       - fdio-infra-publish
-# [end] VPP-DEBUG-VERIFY-PERIODIC JOB TEMPLATE
+# [end] VPP-DEBUG-VERIFY JOB TEMPLATE
+
+# VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
+- job-template:
+    name: 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
+
+    project-type: freestyle
+    node: 'builder-{os}-prod-{executor-arch}'
+    concurrent: true
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
+
+    # Please keep parameters in alphabetical order
+    parameters:
+      - gerrit-parameter:
+          branch: '{branch}'
+      - make-parallel-jobs-parameter:
+          make-parallel-jobs: '{make-parallel-jobs}'
+      - make-test-os-parameter:
+          make-test-os: '{make-test-os}'
+      - os-parameter:
+          os: '{os}'
+      - project-parameter:
+          project: '{project}'
+      - stream-parameter:
+          stream: '{stream}'
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '{periodicity}'
+      - gerrit-trigger-manually-triggered:
+          comment-trigger-value: '{comment-trigger-value}'
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_ubuntu_docker_test.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/vpp/dpdk-rdma-version-mismatch.sh
+
+    publishers:
+      - vpp-dpdk-rdma-version-mismatch:
+          branch: '{branch}'
+      - fdio-infra-publish
+# [end] VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
 
 # VPP-MERGE JOB TEMPLATE
 - job-template:
           make-parallel-jobs: '{make-parallel-jobs}'
       - make-test-os-parameter:
           make-test-os: '{make-test-os}'
+      - make-test-multiworker-os-parameter:
+          make-test-multiworker-os: '{make-test-multiworker-os}'
       - os-parameter:
           os: '{os}'
       - project-parameter:
       - shell:
           !include-raw-escape:
           - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/vpp/commitmsg.sh
       - shell:
           !include-raw-escape:
           - ../scripts/setup_vpp_ubuntu_docker_test.sh
       - fdio-infra-publish
 # [end] VPP-GCC-VERIFY JOB TEMPLATE
 
+# VPP-COV-VERIFY JOB TEMPLATE
+- job-template:
+    name: 'vpp-cov-verify-{stream}-{os}-{executor-arch}'
+
+    project-type: freestyle
+    node: 'builder-{os}-prod-{executor-arch}'
+    concurrent: true
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
+
+    # Please keep parameters in alphabetical order
+    parameters:
+      - gerrit-parameter:
+          branch: '{branch}'
+      - make-parallel-jobs-parameter:
+          make-parallel-jobs: '{make-parallel-jobs}'
+      - make-test-os-parameter:
+          make-test-os: '{make-test-os}'
+      - os-parameter:
+          os: '{os}'
+      - project-parameter:
+          project: '{project}'
+      - stream-parameter:
+          stream: '{stream}'
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '{periodicity}'
+      - gerrit-trigger-manually-triggered:
+          comment-trigger-value: '{comment-trigger-value}'
+          name: '{project}'
+          branch: '{branch}'
+
+    builders:
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_ubuntu_docker_test.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_ext_deps.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/vpp/cov-build.sh
+
+    publishers:
+      - fdio-infra-publish-cov-7day
+      - fdio-infra-publish
+# [end] VPP-COV-VERIFY JOB TEMPLATE
+
 # VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
 - job-template:
     name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
                 - shell:
                     !include-raw-escape:
                     - ../scripts/vpp/copy_archives.sh
-      - robot-report:
-          output-path: 'archives/csit_current/0/'
-
       - fdio-infra-publish
 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
 
+# VPP-CSIT-BISECT JOB TEMPLATE
+- job-template:
+    name: 'vpp-csit-bisect-{stream}-{os}-{executor-arch}-{testbed-arch}'
+    description: |
+      <ul>
+          <li>executor
+              <ul>
+                  <li>builder-{os}-prod-{executor-arch}
+              </ul>
+          <li>testbed architecture
+              <ul>
+                  <li>{testbed-arch}
+              </ul>
+          <li>Objective
+              <ul>
+                  <li>Find a cause of VPP performance jump among VPP commits.
+              </ul>
+      </ul>
+
+    project-type: freestyle
+    node: 'builder-{os}-prod-{executor-arch}'
+    concurrent: true
+    latest-only: false
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
+
+    # Please keep parameters in alphabetical order
+    parameters:
+      - csit-perf-trial-duration-parameter:
+          csit-perf-trial-duration: "1.0"
+      - csit-perf-trial-multiplicity-parameter:
+          csit-perf-trial-multiplicity: "60"
+      - gerrit-csit-refspec-parameter
+      - gerrit-event-comment-text-parameter
+      - gerrit-event-type-parameter
+      - gerrit-refspec-parameter:
+          refspec: '{branch-refspec}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - make-parallel-jobs-parameter:
+          make-parallel-jobs: '{make-parallel-jobs}'
+      - os-parameter:
+          os: '{os}'
+      - project-parameter:
+          project: '{project}'
+      - stream-parameter:
+          stream: '{stream}'
+
+    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:
+      - gerrit-trigger-csit-perftest:
+          project: '{project}'
+          branch: '{branch}'
+          trigger-word: 'bisecttest-{testbed-arch}'
+          skip-vote: true
+
+    builders:
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_ubuntu_docker_test.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_ext_deps.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/vpp/csit-bisect.sh
+
+    publishers:
+      - postbuildscript:
+          # Can be removed when all CSIT branches use correct archive directory.
+          builders:
+            - build-on:
+                - ABORTED
+                - FAILURE
+                - NOT_BUILT
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell:
+                    !include-raw-escape:
+                    - ../scripts/vpp/copy_archives.sh
+      - fdio-infra-publish
+# [end] VPP-CSIT-BISECT JOB TEMPLATE
+
 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
 - job-template:
     name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
       - fdio-infra-publish
 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
 # [end] JOB TEMPLATE DEFINITIONS
+
+- project:
+    name: vpp-release
+    project: vpp
+    project-name: vpp
+    build-node: centos8-builder-2c-2g
+    mvn-settings: vpp-settings
+    jobs:
+      - "gerrit-packagecloud-release-verify"
+
+- project:
+    name: vpp-packagecloud-release
+    project: vpp
+    project-name: vpp
+    build-node: centos8-builder-2c-2g
+    mvn-settings: vpp-settings
+    jobs:
+      - "gerrit-packagecloud-release-merge"
+      - "{project-name}-gerrit-release-jobs"