X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=jjb%2Fvpp%2Fvpp.yaml;h=78673cd0477801af4fce81a1292451ddb60ab4bf;hb=d42f7cba3ef295eebcb0496247e8a9076c6bf7a2;hp=93f1157aa869687edefb7a7ca13dde18b9b6fc0f;hpb=f4949b340cf51c4e155ee86a54334fb997c233f8;p=ci-management.git diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index 93f1157aa..78673cd04 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -1,3 +1,16 @@ +# Copyright (c) 2022 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 # @@ -5,16 +18,13 @@ # 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 @@ -23,32 +33,29 @@ jobs: - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}' project: 'vpp' + os: 'ubuntu2004' stream: - master: branch: 'master' - repo-stream-part: 'master' - branch-head-refspec: '' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - 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: '' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - branch-head-refspec: '' - os: 'ubuntu1804' + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' executor-arch: 'x86_64' # [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: @@ -56,113 +63,32 @@ - 'vpp-merge-{stream}-{os}-{executor-arch}' project: 'vpp' make-parallel-jobs: '4' + make-test-os: 'ubuntu-20.04' stream: - master: branch: 'master' - repo-stream-part: 'master' - branch-head-refspec: '' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - 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: '' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - branch-head-refspec: '' + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' os: - - ubuntu1804: - repo-os-part: 'ubuntu.bionic.main' + - debian10 + - debian11 + - ubuntu2004 executor-arch: 'x86_64' + exclude: + # os added in 22.06 + - stream: '2202' + os: 'debian11' # [end] VPP-X86_64 PROJECT -# VPP-OS-EOL-X86_64 PROJECT -- project: - name: vpp-os-eol-x86_64 - jobs: - - 'vpp-verify-{stream}-{os}-{executor-arch}' - - 'vpp-merge-{stream}-{os}-{executor-arch}' - project: 'vpp' - make-parallel-jobs: '4' - stream: - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - 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: - - centos7: - repo-os-part: 'centos7' - executor-arch: 'x86_64' -# [end] VPP-OS-EOL-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: '' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - branch-head-refspec: '' - os: - os: - - centos8: - repo-os-part: 'centos8' - - debian9: - repo-os-part: 'stretch' - - debian10: - repo-os-part: 'buster' - - 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: @@ -171,53 +97,18 @@ - 'vpp-debug-verify-{stream}-{os}-{executor-arch}' project: 'vpp' make-parallel-jobs: '4' + make-test-os: 'ubuntu-20.04' + comment-trigger-value: 'debug-verify' 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' + branch-refspec: '' + # Once per hour + periodicity: 'H * * * *' + os: 'ubuntu2004' 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. -# -# 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. -# -#- project: -# name: vpp-beta-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' -# project: 'vpp' -# make-parallel-jobs: '4' -# stream: -# - master: -# branch: 'master' -# repo-stream-part: 'master' -# branch-head-refspec: '' -# os: -# - debian10: -# repo-os-part: 'buster' -# executor-arch: x86_64 -# [end] VPP-BETA-X86_64 PROJECT - # VPP-GCC-X86_64 PROJECT - project: name: vpp-gcc-x86_64 @@ -225,25 +116,28 @@ - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}' project: 'vpp' executor-arch: 'x86_64' - os: - - ubuntu2004: - repo-os-part: 'ubuntu.focal.main' + os: 'ubuntu2004' stream: - master: branch: 'master' - repo-stream-part: 'master' - branch-head-refspec: '' - - '2009': - branch: 'stable/2009' - repo-stream-part: 'stable.2009' - branch-head-refspec: '' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - branch-head-refspec: '' + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' # [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: @@ -251,159 +145,101 @@ - 'vpp-merge-{stream}-{os}-{executor-arch}' project: 'vpp' make-parallel-jobs: '16' + make-test-os: 'ubuntu-20.04' stream: - master: branch: 'master' - repo-stream-part: 'master' - branch-head-refspec: '' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - 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: '' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - branch-head-refspec: '' + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' os: - - ubuntu1804: - repo-os-part: 'ubuntu-arm.bionic.main' + - ubuntu2004 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' + skip-vote: 'false' stream: - 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: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' + testbed-arch: + - 1n-skx: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 1n-tx2: + os: 'ubuntu2004' + 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' stream: - master: branch: 'master' - repo-stream-part: 'master' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - - '2005': - branch: 'stable/2005' - repo-stream-part: 'stable.2005' - - '2009': - branch: 'stable/2009' - repo-stream-part: 'stable.2009' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - device-node-arch: - - 1n-skx - - 1n-tx2: - device-executor: 'vpp-csit-arm-ubuntu18' - skip-vote: 'true' - node-arch: - - 2n-clx - - 2n-skx - - 2n-zn2 - - 3n-skx - - 3n-hsw - - 2n-dnv - - 3n-dnv + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' + testbed-arch: + - 2n-icx: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 2n-clx: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 2n-zn2: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 3n-icx: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 2n-dnv: + os: 'ubuntu2004' + executor-arch: 'x86_64' + - 3n-dnv: + os: 'ubuntu2004' + executor-arch: 'x86_64' - 3n-tsh: - executor: 'ubuntu1804arm-s' + os: 'ubuntu2004' + executor-arch: 'aarch64' + make-parallel-jobs: '16' + - 3n-alt: + os: 'ubuntu2004' + executor-arch: 'aarch64' + make-parallel-jobs: '16' + - 2n-tx2: + os: 'ubuntu2004' + executor-arch: 'aarch64' make-parallel-jobs: '16' - exclude: - - stream: '1908' - device-node-arch: '1n-tx2' - - stream: '2001' - device-node-arch: '1n-tx2' - - stream: '2005' - device-node-arch: '1n-tx2' -# [end] VPP-CSIT-PERPATCH PROJECT +# [end] VPP-CSIT-VERIFY-PERF PROJECT # VPP-CSIT-API-CRC PROJECT # @@ -412,23 +248,21 @@ - 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' - - '2101': - branch: 'stable/2101' - repo-stream-part: 'stable.2101' - master: branch: 'master' - os: ubuntu1804 + branch-refspec: '' + - '2202': + branch: 'stable/2202' + branch-refspec: '' + - '2206': + branch: 'stable/2206' + branch-refspec: '' + os: 'ubuntu2004' # [end] VPP-CSIT-API-CRC PROJECT # LF RELENG VPP PROJECTS @@ -461,25 +295,21 @@ 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: @@ -528,8 +358,6 @@ - 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' @@ -563,10 +391,13 @@ - 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 @@ -576,33 +407,27 @@ 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}' - 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: @@ -628,14 +453,13 @@ - ../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 @@ -645,29 +469,27 @@ 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: @@ -680,9 +502,9 @@ build-timeout: '{build-timeout}' triggers: - # TODO: Ensure all supported jobs pass reliably before - # enabling voting. - - gerrit-trigger-checkstyle-nonvoting: + - timed: '{periodicity}' + - gerrit-trigger-manually-triggered: + comment-trigger-value: '{comment-trigger-value}' name: '{project}' branch: '{branch}' @@ -695,15 +517,14 @@ - ../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 - job-template: @@ -712,33 +533,24 @@ 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}' + 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: @@ -759,11 +571,11 @@ - 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/setup_executor_env.sh @@ -772,214 +584,44 @@ - ../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' + - fdio-infra-publish # [end] VPP-MERGE JOB TEMPLATE -# VPP-BETA-VERIFY JOB TEMPLATE +# VPP-GCC-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-beta-verify-{stream}-{os}-{executor-arch}' + name: 'vpp-gcc-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: 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. + - gerrit-refspec-parameter: + refspec: '{branch-refspec}' - 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_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 - - 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}' - os-parameter: os: '{os}' - - maven-project-parameter: - maven: 'mvn33-new' - - maven-exec: - maven-version: 'mvn33-new' - - 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: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - fdio-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - 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/setup_executor_env.sh - - shell: - !include-raw-escape: - - ../scripts/vpp/checkstyle.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 - - publishers: - - fdio-infra-shiplogs: - maven-version: 'mvn36' -# [end] VPP-BETA-MERGE JOB TEMPLATE - -# VPP-GCC-VERIFY JOB TEMPLATE -- job-template: - name: 'vpp-gcc-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: 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. - - make-parallel-jobs-parameter: - make-parallel-jobs: '{make-parallel-jobs}' - - gerrit-refspec-parameter: - refspec: '{branch-head-refspec}' scm: - gerrit-trigger-scm: @@ -1005,60 +647,56 @@ - ../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: | 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: @@ -1085,27 +723,27 @@ - ../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: 'archives' - - - 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: | 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: @@ -1167,7 +796,7 @@ - gerrit-trigger-csit-perftest: project: '{project}' branch: '{branch}' - trigger-word: 'perftest-{node-arch}' + trigger-word: 'perftest-{testbed-arch}' skip-vote: true builders: @@ -1179,51 +808,59 @@ - ../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: + - 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 - robot-report: - output-path: 'csit_current/0/' + output-path: 'archives/csit_current/0/' - - lf-infra-publish + - 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: @@ -1236,8 +873,6 @@ 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}' @@ -1252,10 +887,9 @@ - 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