+# 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:
+#
+# 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 DEFINITIONS
#
# vpp-x86_64, vpp-aarch64, vpp-csit
#
# NOTES:
-# - The 'branch-head-refspec' attribute is used for sandbox testing.
+# - The 'branch-refspec' attribute is used for sandbox testing.
# Use the get_gerrit_refspec() bash function in
-# .../ci-management/docker/scripts/lib_common.sh
+# .../ci-management/extras/bash/sandbox_test_functions.sh
# to query gerrit for the refspec of HEAD in a branch.
# TODO: see if there is a refspec that works without requiring
# use of get_gerrit_refspec and hand entering the result
# in the WebUI 'Build With Parameters' gerrit refspec field.
-# - Use the following to import get_gerrit_refspec into a bash shell
-# from the ci-management directory:
-# $ eval "$(grep -A12 get_gerrit ./docker/scripts/lib_common.sh)"
# [end] NOTES
# VPP-CHECKSTYLE-X86_64 PROJECT
- project:
name: vpp-checkstyle-x86_64
jobs:
- - 'vpp-checkstyle-verify-{stream}-{executor-arch}'
+ - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
project: 'vpp'
+ os:
+ - ubuntu2004
+ - ubuntu2204
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- - '1908':
- branch: 'stable/1908'
- repo-stream-part: 'stable.1908'
- branch-head-refspec: ''
- - '2001':
- branch: 'stable/2001'
- repo-stream-part: 'stable.2001'
- branch-head-refspec: ''
- - '2005':
- branch: 'stable/2005'
- repo-stream-part: 'stable.2005'
- branch-head-refspec: ''
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- branch-head-refspec: ''
- os: 'ubuntu1804'
+ branch-refspec: ''
+ - '2210':
+ branch: 'stable/2210'
+ branch-refspec: ''
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
executor-arch: 'x86_64'
+ exclude:
+ # os deprecated in 23.06
+ - stream: '2306'
+ os: 'ubuntu2004'
+ # os deprecated in 23.02
+ - stream: '2302'
+ os: 'ubuntu2004'
+ # os deprecated in 22.10
+ - stream: '2210'
+ os: 'ubuntu2004'
+ # os deprecated in master
+ - stream: 'master'
+ os: 'ubuntu2004'
+
# [end] VPP-CHECKSTYLE-X86_64 PROJECT
# VPP-X86_64 PROJECT
+#
+# NOTE: The list of supported branches for each OS are maintained
+# in .../ci-management/docker/scripts/lib_vpp.sh
+# The job configuration must be derived from that list, thus
+# modifications to both should be made at the same time.
+# Since x86_64 is the primary development architecture, this
+# project definition should be identical to the docker image
+# build scripts. Other architectures may be a subset.
- project:
name: vpp-x86_64
jobs:
project: 'vpp'
make-parallel-jobs: '4'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- - '1908':
- branch: 'stable/1908'
- repo-stream-part: 'stable.1908'
- branch-head-refspec: ''
- - '2001':
- branch: 'stable/2001'
- repo-stream-part: 'stable.2001'
- branch-head-refspec: ''
- - '2005':
- branch: 'stable/2005'
- repo-stream-part: 'stable.2005'
- branch-head-refspec: ''
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- branch-head-refspec: ''
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: 'debian-11'
+ - '2210':
+ branch: 'stable/2210'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04'
+ make-test-multiworker-os: 'debian-11'
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: 'debian-11'
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: 'debian-11'
os:
- - ubuntu1804:
- repo-os-part: 'ubuntu.bionic.main'
- - centos7:
- repo-os-part: 'centos7'
+ - debian11
+ - ubuntu2004
+ - ubuntu2204
executor-arch: 'x86_64'
# [end] VPP-X86_64 PROJECT
-# VPP-OS-IN-2009-X86_64 PROJECT
-#
-# This project is used to separate streams which are only
-# supported on the OS in the release in which it was added
-# or later releases.
-#
-# For each 'os-in-XXXX', the stream for the release is
-# added here in addition to the 'vpp-x86_64' project.
-# Each subsequent release is also added to both.
-#
-# When all of the streams older than the 'os-in-XXXX" have
-# been removed from the 'vpp-x86_64' project, then the OSes
-# in this project get moved to the 'vpp-x86_64' project and
-# this project gets deleted or commented out if it is only
-# 'os-in-XXXX' project.
-#
-- project:
- name: vpp-os-in-2009-x86_64
- jobs:
- - 'vpp-verify-{stream}-{os}-{executor-arch}'
- - 'vpp-merge-{stream}-{os}-{executor-arch}'
- project: 'vpp'
- make-parallel-jobs: '4'
- stream:
- - master:
- branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- branch-head-refspec: ''
- os:
- - ubuntu2004:
- repo-os-part: 'ubuntu.focal.main'
- executor-arch: 'x86_64'
-# [end] VPP-OS-IN-2009-X86_64 PROJECT
-
# VPP-DEBUG-X86_64 PROJECT
#
-# Currently a Non-Voting job due to intermittent failures.
-# Limiting branches to master and 2009, since other branches
+# Currently a periodic job due to intermittent failures.
+# Limiting branches to master, since other branches
# may not get fixes for the intermittent failures.
#
- project:
- 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
project: 'vpp'
make-parallel-jobs: '4'
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ comment-trigger-value: 'debug-verify'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- branch-head-refspec: ''
- os:
- - ubuntu1804:
- repo-os-part: 'ubuntu.bionic.main'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ os: 'ubuntu2204'
executor-arch: 'x86_64'
+
# [end] VPP-DEBUG-X86_64 PROJECT
-# VPP-BETA-X86_64 PROJECT
-#
-# Beta jobs are experimental jobs for testing new OS versions on master.
+# VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
#
-# They are only manually triggered. Either using the Jenkins WebUI
-# 'Build with Parameters' to run a single job or adding 'vpp-beta-verify'
-# or 'vpp-beta-merge' as a comment to run all beta verify or merge jobs.
-#
-# Once testing is complete, the os is moved to the current
-# 'vpp-os-in-XXXX-x86_64' project. If no OSes are being
-# tested then this project should be commented out.
+# 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-beta-x86_64
+ name: vpp-dpdk-rdma-version-mismatch-x86_64
jobs:
- - 'vpp-beta-verify-{stream}-{os}-{executor-arch}':
- comment-trigger-value: 'vpp-beta-verify'
- - 'vpp-beta-merge-{stream}-{os}-{executor-arch}':
- comment-trigger-value: 'vpp-beta-merge'
+ - 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
project: 'vpp'
- make-parallel-jobs: '4'
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ comment-trigger-value: 'dpdk-rdma-version-mismatch'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- os:
- - centos8:
- repo-os-part: 'centos8'
- - debian9:
- repo-os-part: 'stretch'
- - debian10:
- repo-os-part: 'buster'
- executor-arch: x86_64
-# [end] VPP-BETA-X86_64 PROJECT
+ # Once per day at 00:15
+ periodicity: '15 0 * * 0-6'
+ os: 'ubuntu2204'
+ executor-arch: 'x86_64'
+
+# [end] VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
# VPP-GCC-X86_64 PROJECT
- project:
jobs:
- 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
project: 'vpp'
- executor-arch: 'x86_64'
+ make-parallel-jobs: '4'
os:
- - ubuntu2004:
- repo-os-part: 'ubuntu.focal.main'
+ - ubuntu2004
+ - ubuntu2204
+ executor-arch: 'x86_64'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
+ branch-refspec: ''
+ - '2210':
+ branch: 'stable/2210'
+ branch-refspec: ''
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
+ exclude:
+ # os deprecated in 23.06
+ - stream: '2306'
+ os: 'ubuntu2004'
+ # os deprecated in 23.02
+ - stream: '2302'
+ os: 'ubuntu2004'
+ # os deprecated in 22.10
+ - stream: '2210'
+ os: 'ubuntu2004'
+ # os deprecated in master
+ - stream: 'master'
+ os: 'ubuntu2004'
# [end] VPP-GCC-X86_64 PROJECT
# VPP-AARCH64 PROJECT
+#
+# NOTE: The list of supported branches for each OS are maintained
+# in .../ci-management/docker/scripts/lib_vpp.sh
+# The job configuration must be derived from that list, thus
+# modifications to both should be made at the same time.
+# The AARCH64 architecture is in the process of catching up
+# with X86_64 in terms of OS coverage. Thus the jobs are
+# a subset of those defined in the docker image build script.
- project:
name: vpp-aarch64
jobs:
- 'vpp-verify-{stream}-{os}-{executor-arch}'
- 'vpp-merge-{stream}-{os}-{executor-arch}'
project: 'vpp'
- make-parallel-jobs: '16'
+ make-parallel-jobs: '4'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- - '1908':
- branch: 'stable/1908'
- repo-stream-part: 'stable.1908'
- branch-head-refspec: ''
- - '2001':
- branch: 'stable/2001'
- repo-stream-part: 'stable.2001'
- branch-head-refspec: ''
- - '2005':
- branch: 'stable/2005'
- repo-stream-part: 'stable.2005'
- branch-head-refspec: ''
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- branch-head-refspec: ''
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: ''
+ - '2210':
+ branch: 'stable/2210'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04'
+ make-test-multiworker-os: ''
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: ''
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
+ make-test-os: 'ubuntu-20.04 ubuntu-22.04'
+ make-test-multiworker-os: ''
os:
- - ubuntu1804:
- repo-os-part: 'ubuntu-arm.bionic.main'
+ - ubuntu2004
+ - ubuntu2204
executor-arch: 'aarch64'
# [end] VPP-AARCH64 PROJECT
-# VPP-OS-IN-2009-AARCH64 PROJECT
-#
-# This project is used to separate streams which are only
-# supported on the OS in the release in which it was added
-# or later releases.
-#
-# For each 'os-in-XXXX', the stream for the release is
-# added here in addition to the 'vpp-aarch64' project.
-# Each subsequent release is also added to both.
-#
-# When all of the streams older than the 'os-in-XXXX" have
-# been removed from the 'vpp-aarch64' project, then the OSes
-# in this project get moved to the 'vpp-aarch64' project and
-# this project gets deleted or commented out if it is only
-# 'os-in-XXXX' project.
-#
-#- project:
-# name: vpp-os-in-2009-aarch64
-# jobs:
-# - 'vpp-verify-{stream}-{os}-{executor-arch}'
-# - 'vpp-merge-{stream}-{os}-{executor-arch}'
-#
-# project: 'vpp'
-# make-parallel-jobs: '16'
-# stream:
-# - master:
-# branch: 'master'
-# repo-stream-part: 'master'
-# branch-head-refspec: ''
-# - '2009':
-# branch: 'stable/2009'
-# repo-stream-part: 'stable.2009'
-# branch-head-refspec: ''
-# os:
-# - ubuntu2004:
-# repo-os-part: 'ubuntu.focal.main'
-# executor-arch: 'aarch64'
-# [end] VPP-OS-IN-2009-AARCH64 PROJECT
-
-# VPP-BETA-AARCH64 PROJECT
-#
-# Beta jobs are experimental jobs for testing new OS versions on master.
-#
-# They are only manually triggered. Either using the Jenkins WebUI
-# 'Build with Parameters' to run a single job or adding 'vpp-beta-verify'
-# or 'vpp-beta-merge' as a comment to run all beta verify or merge jobs.
-#
-# Once testing is complete, the os is moved to the current
-# 'vpp-os-in-XXXX-aarch64' project. If no OSes are being
-# tested then this project should be commented out.
-#
+# VPP-CSIT-VERIFY-DEVICE PROJECT
- project:
- name: vpp-beta-aarch64
+ name: vpp-csit-verify-device
jobs:
- - 'vpp-beta-verify-{stream}-{os}-{executor-arch}':
- comment-trigger-value: 'beta-verify'
- - 'vpp-beta-merge-{stream}-{os}-{executor-arch}':
- comment-trigger-value: 'beta-merge'
+ - 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}':
+ make-parallel-jobs: '32'
project: 'vpp'
- make-parallel-jobs: '16'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- branch-head-refspec: ''
- os:
- - centos8:
- repo-os-part: 'centos8'
- - ubuntu2004:
- repo-os-part: 'ubuntu.focal.main'
- executor-arch: aarch64
-# [end] VPP-BETA-AARCH64 PROJECT
-
-# VPP-CSIT-PERPATCH PROJECT
+ branch-refspec: ''
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
+ testbed-arch:
+ - 1n-skx:
+ os: 'ubuntu2204'
+ executor-arch: 'x86_64'
+ skip-vote: 'true'
+ - 1n-tx2:
+ os: 'ubuntu2204'
+ executor-arch: 'aarch64'
+ skip-vote: 'true'
+# [end] VPP-CSIT-VERIFY-DEVICE PROJECT
+
+# VPP-CSIT-VERIFY-PERF PROJECT
- project:
- name: vpp-csit-perpatch
+ name: vpp-csit-verify-perf
jobs:
- - 'vpp-csit-verify-device-{stream}-{device-node-arch}':
- make-parallel-jobs: '32'
- - 'vpp-csit-verify-perf-{stream}-{node-arch}'
+ - 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
project: 'vpp'
- os: ubuntu1804
- device-executor: 'vpp-csit-device'
- executor: '{os}-us'
skip-vote: 'false'
- trigger: 'gerrit-trigger-vpp-csit-devicetest-full'
stream:
- - master:
+ - 'master':
branch: 'master'
- repo-stream-part: 'master'
- - '1908':
- branch: 'stable/1908'
- repo-stream-part: 'stable.1908'
- - '2001':
- branch: 'stable/2001'
- repo-stream-part: 'stable.2001'
- - '2005':
- branch: 'stable/2005'
- repo-stream-part: 'stable.2005'
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- device-node-arch:
- - 1n-skx
- - 1n-tx2:
- device-executor: 'vpp-csit-arm-ubuntu18'
- trigger: 'gerrit-trigger-vpp-csit-devicetest-manual'
- node-arch:
- - 2n-clx
- - 2n-skx
- - 2n-zn2
- - 3n-skx
- - 3n-hsw
- - 2n-dnv
- - 3n-dnv
+ branch-refspec: ''
+ testbed-arch:
+ - 2n-icx:
+ os: 'ubuntu2204'
+ executor-arch: 'x86_64'
+ - 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'
- 3n-tsh:
- executor: 'ubuntu1804arm-s'
+ os: 'ubuntu2204'
+ executor-arch: 'aarch64'
+ make-parallel-jobs: '16'
+ - 3n-alt:
+ os: 'ubuntu2204'
+ executor-arch: 'aarch64'
make-parallel-jobs: '16'
-# [end] VPP-CSIT-PERPATCH PROJECT
+ - 2n-tx2:
+ os: 'ubuntu2204'
+ executor-arch: 'aarch64'
+ make-parallel-jobs: '16'
+ - 3n-snr:
+ os: 'ubuntu2204'
+ executor-arch: 'x86_64'
+# [end] VPP-CSIT-VERIFY-PERF PROJECT
# VPP-CSIT-API-CRC PROJECT
#
- project:
name: vpp-csit-api-crc
jobs:
- - 'vpp-csit-verify-api-crc-{stream}'
+ - 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
project: 'vpp'
- executor: 'vpp-csit-device'
+ executor-arch: 'x86_64'
skip-vote: 'false'
stream:
- - '1908':
- branch: 'stable/1908'
- repo-stream-part: 'stable.1908'
- - '2009':
- branch: 'stable/2009'
- repo-stream-part: 'stable.2009'
- - master:
+ - 'master':
branch: 'master'
- os: ubuntu1804
+ branch-refspec: ''
+ - '2302':
+ branch: 'stable/2302'
+ branch-refspec: ''
+ - '2306':
+ branch: 'stable/2306'
+ branch-refspec: ''
+ os:
+ - 'ubuntu2204'
# [end] VPP-CSIT-API-CRC PROJECT
# LF RELENG VPP PROJECTS
# VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
- job-template:
- name: 'vpp-checkstyle-verify-{stream}-{executor-arch}'
+ name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
- os-parameter:
os: '{os}'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.ubuntu.bionic.main'
- - gerrit-refspec-parameter:
- refspec: '{branch-head-refspec}'
+ - project-parameter:
+ project: '{project}'
scm:
- gerrit-trigger-scm:
- 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:
- compare-type: REG_EXP
pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
forbidden-file-paths:
- - compare-type: REG_EXP
- pattern: .*docs\/.*
- compare-type: REG_EXP
pattern: .*extras\/emacs\/.*
disable-strict-forbidden-file-verification: 'true'
notbuilt: false
builders:
+ - shell:
+ !include-raw-escape:
+ - ../scripts/setup_executor_env.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/checkstyle.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/commitmsg.sh
+ - shell:
+ !include-raw-escape:
+ - ../scripts/vpp/docs_spell.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
+ - fdio-infra-publish
+
# [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
# VPP-VERIFY JOB TEMPLATE
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
+ - make-parallel-jobs-parameter:
+ 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}'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.{repo-os-part}'
+ - project-parameter:
+ project: '{project}'
- stream-parameter:
stream: '{stream}'
- - string:
- name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
- description: Artifacts to archive to the logs server.
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
- - gerrit-refspec-parameter:
- refspec: '{branch-head-refspec}'
scm:
- gerrit-trigger-scm:
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_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/build.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
+ - fdio-infra-publish
# [end] VPP-VERIFY JOB TEMPLATE
# VPP-DEBUG-VERIFY JOB TEMPLATE
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
+ - make-parallel-jobs-parameter:
+ make-parallel-jobs: '{make-parallel-jobs}'
+ - make-test-os-parameter:
+ make-test-os: '{make-test-os}'
- os-parameter:
- os: 'ubuntu1804'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.ubuntu.bionic.main'
+ os: '{os}'
+ - project-parameter:
+ project: '{project}'
- stream-parameter:
stream: '{stream}'
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
- - gerrit-refspec-parameter:
- refspec: '{branch-head-refspec}'
scm:
- gerrit-trigger-scm:
build-timeout: '{build-timeout}'
triggers:
- # TODO: Ensure all supported jobs pass reliably before
- # enabling voting.
- gerrit-trigger-checkstyle-nonvoting:
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_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/debug-build.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
-# [end] VPP-DEBUG-VERIFY JOB TEMPLATE
+ - fdio-infra-publish
+# [end] VPP-DEBUG-VERIFY-PERIODIC JOB TEMPLATE
-# VPP-MERGE JOB TEMPLATE
+# VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
- job-template:
- name: 'vpp-merge-{stream}-{os}-{executor-arch}'
+ name: 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
+ concurrent: true
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- 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}'
- - maven-project-parameter:
- maven: 'mvn33-new'
- - maven-exec:
- maven-version: 'mvn33-new'
+ - project-parameter:
+ project: '{project}'
- 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.
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
scm:
- gerrit-trigger-scm:
wrappers:
- fdio-infra-wrappers:
- build-timeout: 120
+ build-timeout: '{build-timeout}'
triggers:
- - gerrit-trigger-patch-merged:
+ - timed: '{periodicity}'
+ - gerrit-trigger-manually-triggered:
+ comment-trigger-value: '{comment-trigger-value}'
name: '{project}'
branch: '{branch}'
builders:
- - config-file-provider:
- files:
- - file-id: '.packagecloud'
- target: '/root'
- - config-file-provider:
- files:
- - file-id: 'packagecloud_api'
- target: '/root'
- shell:
!include-raw-escape:
- - ../scripts/vpp/checkstyle.sh
+ - ../scripts/setup_executor_env.sh
- shell:
!include-raw-escape:
- ../scripts/setup_vpp_ubuntu_docker_test.sh
- shell:
!include-raw-escape:
- - ../scripts/setup_vpp_dpdk_dev_env.sh
- - shell:
- !include-raw-escape:
- - ../scripts/vpp/build.sh
-
- - provide-maven-settings:
- settings-file: 'vpp-settings'
- global-settings-file: 'global-settings'
- - shell:
- !include-raw-escape:
- - ../scripts/packagecloud_push.sh
+ - ../scripts/vpp/dpdk-rdma-version-mismatch.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
-# [end] VPP-MERGE JOB TEMPLATE
+ - vpp-dpdk-rdma-version-mismatch:
+ branch: '{branch}'
+ - fdio-infra-publish
+# [end] VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
-# VPP-BETA-VERIFY JOB TEMPLATE
+# VPP-MERGE JOB TEMPLATE
- job-template:
- name: 'vpp-beta-verify-{stream}-{os}-{executor-arch}'
+ name: 'vpp-merge-{stream}-{os}-{executor-arch}'
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
- concurrent: true
- archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
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.
- make-parallel-jobs-parameter:
make-parallel-jobs: '{make-parallel-jobs}'
- - gerrit-refspec-parameter:
- refspec: '{branch-head-refspec}'
-
- 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-manually-triggered:
- comment-trigger-value: '{comment-trigger-value}'
- name: '{project}'
- branch: '{branch}'
-
- builders:
- - shell:
- !include-raw-escape:
- - ../scripts/setup_vpp_ubuntu_docker_test.sh
- - shell:
- !include-raw-escape:
- - ../scripts/setup_vpp_dpdk_dev_env.sh
- - shell:
- !include-raw-escape:
- - ../scripts/vpp/build.sh
-
- publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
-# [end] VPP-BETA-VERIFY JOB TEMPLATE
-
-# VPP-BETA-MERGE JOB TEMPLATE
-- job-template:
- name: 'vpp-beta-merge-{stream}-{os}-{executor-arch}'
-
- project-type: freestyle
- node: 'builder-{os}-prod-{executor-arch}'
-
- 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}'
+ - 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}'
- - maven-project-parameter:
- maven: 'mvn33-new'
- - maven-exec:
- maven-version: 'mvn33-new'
+ - project-parameter:
+ project: '{project}'
- 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.
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
scm:
- gerrit-trigger-scm:
wrappers:
- fdio-infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: 120
triggers:
- - gerrit-trigger-manually-triggered:
- comment-trigger-value: '{comment-trigger-value}'
+ - gerrit-trigger-patch-merged:
name: '{project}'
branch: '{branch}'
- config-file-provider:
files:
- file-id: '.packagecloud'
- target: '/root'
+ target: '/root/.packagecloud'
- config-file-provider:
files:
- file-id: 'packagecloud_api'
- target: '/root'
+ target: '/root/packagecloud_api'
- shell:
!include-raw-escape:
- - ../scripts/vpp/checkstyle.sh
+ - ../scripts/setup_executor_env.sh
+ - shell:
+ !include-raw-escape:
+ - ../scripts/vpp/commitmsg.sh
- shell:
!include-raw-escape:
- ../scripts/setup_vpp_ubuntu_docker_test.sh
- shell:
!include-raw-escape:
- - ../scripts/setup_vpp_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/build.sh
- - provide-maven-settings:
- settings-file: 'vpp-settings'
- global-settings-file: 'global-settings'
- shell:
!include-raw-escape:
- ../scripts/packagecloud_push.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
-# [end] VPP-BETA-MERGE JOB TEMPLATE
+ - fdio-infra-publish
+# [end] VPP-MERGE JOB TEMPLATE
# VPP-GCC-VERIFY JOB TEMPLATE
- job-template:
project-type: freestyle
node: 'builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
+ - make-parallel-jobs-parameter:
+ make-parallel-jobs: '{make-parallel-jobs}'
- os-parameter:
os: '{os}'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.{repo-os-part}'
+ - project-parameter:
+ project: '{project}'
- stream-parameter:
stream: '{stream}'
- - string:
- name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
- description: Artifacts to archive to the logs server.
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
- - gerrit-refspec-parameter
scm:
- gerrit-trigger-scm:
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_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/gcc-build.sh
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
+ - fdio-infra-publish
# [end] VPP-GCC-VERIFY JOB TEMPLATE
-# VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE
+# VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
- job-template:
- name: 'vpp-csit-verify-device-{stream}-{device-node-arch}'
+ name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
description: |
<ul>
<li>executor
<ul>
- <li>{device-executor}
+ <li>csit-builder-{os}-prod-{executor-arch}
+ </ul>
+ <li>testbed architecture
+ <ul>
+ <li>{testbed-arch}
</ul>
</ul>
project-type: freestyle
- node: '{device-executor}'
+ node: 'csit-builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: '**/csit_current/**/*.*'
latest-only: false
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
+ - gerrit-csit-refspec-parameter
+ - gerrit-event-comment-text-parameter
+ - gerrit-event-type-parameter
- gerrit-parameter:
branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
+ - make-parallel-jobs-parameter:
+ make-parallel-jobs: '{make-parallel-jobs}'
- os-parameter:
os: '{os}'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.ubuntu.bionic.main'
- - gerrit-refspec-parameter
- - gerrit-event-type-parameter
- - gerrit-event-comment-text-parameter
- - gerrit-csit-refspec-parameter
+ - project-parameter:
+ project: '{project}'
- stream-parameter:
stream: '{stream}'
- - string:
- name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
- description: Artifacts to archive to the logs server.
- - make-parallel-jobs-parameter:
- make-parallel-jobs: '{make-parallel-jobs}'
scm:
- gerrit-trigger-scm:
build-timeout: '90'
triggers:
- - '{trigger}':
+ - 'gerrit-trigger-vpp-csit-devicetest-full':
name: '{project}'
branch: '{branch}'
skip-vote: '{skip-vote}'
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_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/csit-device.sh
publishers:
- - robot-report:
- output-path: 'csit_current/'
-
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
-# [end] VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE
+ - fdio-infra-publish
+# [end] VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
# VPP-CSIT-VERIFY-PERF JOB TEMPLATE
- job-template:
- name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
+ name: 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
description: |
<ul>
<li>executor
<ul>
- <li>{executor}
+ <li>builder-{os}-prod-{executor-arch}
+ </ul>
+ <li>testbed architecture
+ <ul>
+ <li>{testbed-arch}
</ul>
<li>Objective
Contrary to csit-vpp job, this also measures the parent performance,
</ul>
project-type: freestyle
- node: '{executor}'
+ node: 'builder-{os}-prod-{executor-arch}'
concurrent: true
- archive-artifacts: >
- **/csit_current/**/*.*
- **/csit_parent/**/*.*
latest-only: false
- build-discarder:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: 100
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - os-parameter:
- os: '{os}'
- - repo-name-parameter:
- repo-name: '{repo-stream-part}.ubuntu.bionic.main'
- - gerrit-refspec-parameter
- - gerrit-event-type-parameter
- - gerrit-event-comment-text-parameter
- - gerrit-csit-refspec-parameter
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "10.0"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "5"
- - stream-parameter:
- stream: '{stream}'
- - string:
- name: ARCHIVE_ARTIFACTS
- default: '{archive-artifacts}'
- description: Artifacts to archive to the logs server.
+ - 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:
- gerrit-trigger-csit-perftest:
project: '{project}'
branch: '{branch}'
- trigger-word: 'perftest-{node-arch}'
+ trigger-word: 'perftest-{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_dpdk_dev_env.sh
+ - ../scripts/setup_vpp_ext_deps.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/csit-perf.sh
publishers:
- - robot-report:
- output-path: 'csit_current/0/'
-
- - lf-infra-publish
+ - 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-VERIFY-PERF JOB TEMPLATE
# VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
- job-template:
- name: 'vpp-csit-verify-api-crc-{stream}'
+ name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
project-type: freestyle
- node: '{os}-us'
+ node: 'builder-{os}-prod-{executor-arch}'
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}'
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ # Please keep parameters in alphabetical order
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'
+ - gerrit-csit-refspec-parameter
+ - gerrit-parameter:
+ branch: '{branch}'
+ - gerrit-refspec-parameter:
+ refspec: '{branch-refspec}'
+ - project-parameter:
+ project: '{project}'
+ - stream-parameter:
+ stream: '{stream}'
scm:
- gerrit-trigger-scm:
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_executor_env.sh
- shell:
!include-raw-escape:
- ../scripts/setup_vpp_ubuntu_docker_test.sh
- shell:
!include-raw-escape:
- ../scripts/vpp/check_crc.sh
- # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
+ # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
publishers:
- - fdio-infra-shiplogs:
- maven-version: 'mvn36'
+ - fdio-infra-publish
# [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
# [end] JOB TEMPLATE DEFINITIONS