X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=jjb%2Fvpp%2Fvpp.yaml;h=bd06acced28d3a36cd7b7f809edabd18c1c9fa1c;hb=28027be4316311721975fcfb4e231e57a67e7e15;hp=b2e1a466945c6007901db9a1054d6cd322a66ff1;hpb=15369b80934e33377ee756273337048800e563a2;p=ci-management.git diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index b2e1a4669..bd06acced 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -1,498 +1,415 @@ --- +# PROJECT DEFINITIONS +# +# Please keep projects grouped in this order: +# vpp-x86_64, vpp-aarch64, vpp-csit +# +# NOTES: +# - The 'branch-head-refspec' attribute is used for sandbox testing. +# Use the get_gerrit_refspec() bash function in +# .../ci-management/docker/scripts/lib_common.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 + name: vpp-checkstyle-x86_64 jobs: - - 'vpp-verify-{stream}-{os}' - - 'vpp-merge-{stream}-{os}' - + - 'vpp-checkstyle-verify-{stream}-{executor-arch}' project: 'vpp' - os: - - ubuntu1804: - repo-os-part: 'ubuntu.bionic.main' - - centos7: - repo-os-part: 'centos7' - stream: - master: branch: 'master' repo-stream-part: 'master' - - '1904': - branch: 'stable/1904' - repo-stream-part: 'stable.1904' + 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' + executor-arch: 'x86_64' +# [end] VPP-CHECKSTYLE-X86_64 PROJECT + +# VPP-X86_64 PROJECT - project: - name: vpp-beta + name: vpp-x86_64 jobs: - - 'vpp-beta-verify-{stream}-{os}' - - 'vpp-beta-merge-{stream}-{os}' - + - 'vpp-verify-{stream}-{os}-{executor-arch}' + - 'vpp-merge-{stream}-{os}-{executor-arch}' project: 'vpp' - os: - - ubuntu2004: - repo-os-part: 'ubuntu.focal.main' - - centos8: - repo-os-part: 'centos8' - + make-parallel-jobs: '4' stream: - master: branch: 'master' repo-stream-part: 'master' - -- project: - name: vpp-clang - jobs: - - 'vpp-verify-{stream}-clang' - - 'vpp-coverity-{stream}' - - project: 'vpp' + 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: repo-os-part: 'ubuntu.bionic.main' - centos7: repo-os-part: 'centos7' - - opensuse: - repo-os-part: 'opensuse' - + 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 +# may not get fixes for the intermittent failures. +# - project: - name: vpp-misc + name: vpp-debug-x86_64 jobs: - - 'vpp-checkstyle-verify-{stream}' + - 'vpp-debug-verify-{stream}-{os}-{executor-arch}' project: 'vpp' + make-parallel-jobs: '4' stream: - master: branch: 'master' repo-stream-part: 'master' - - '1901': - branch: 'stable/1901' - repo-stream-part: 'stable.1901' - - '1904': - branch: 'stable/1904' - repo-stream-part: 'stable.1904' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - - '2001': - branch: 'stable/2001' - repo-stream-part: 'stable.2001' - os: ubuntu1804 - + branch-head-refspec: '' + - '2009': + branch: 'stable/2009' + repo-stream-part: 'stable.2009' + branch-head-refspec: '' + os: + - ubuntu1804: + repo-os-part: 'ubuntu.bionic.main' + 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-perpatch + name: vpp-beta-x86_64 jobs: - - 'vpp-csit-verify-device-{stream}-{device-node-arch}' - - 'vpp-csit-verify-perf-{stream}-{node-arch}' + - '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' - os: ubuntu1804 - device-executor: 'vpp-csit-device' - executor: '{os}-us' - skip-vote: 'true' - trigger: 'gerrit-trigger-vpp-csit-devicetest-full' + make-parallel-jobs: '4' stream: - master: branch: 'master' repo-stream-part: 'master' - - '1904': - branch: 'stable/1904' - repo-stream-part: 'stable.1904' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - - '2001': - branch: 'stable/2001' - repo-stream-part: 'stable.2001' - 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 - - 3n-skx - - 3n-hsw - - 2n-dnv - - 3n-dnv - - 3n-tsh: - executor: 'ubuntu1804arm-s' - exclude: - - stream: '1904' - os: 'ubuntu1804' - device-node-arch: '1n-tx2' - + 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 + +# VPP-GCC-X86_64 PROJECT - project: - name: vpp-older-only + name: vpp-gcc-x86_64 jobs: - - 'vpp-historic-verify-{stream}-{os}' - - 'vpp-historic-merge-{stream}-{os}' + - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}' project: 'vpp' - stream: - - '1901': - branch: 'stable/1901' - repo-stream-part: 'stable.1901' - - '1904': - branch: 'stable/1904' - repo-stream-part: 'stable.1904' - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - - '2001': - branch: 'stable/2001' - repo-stream-part: 'stable.2001' + executor-arch: 'x86_64' os: - - ubuntu1604: - repo-os-part: 'ubuntu.xenial.main' + - ubuntu2004: + repo-os-part: 'ubuntu.focal.main' + stream: + - master: + branch: 'master' + repo-stream-part: 'master' + - '2009': + branch: 'stable/2009' + repo-stream-part: 'stable.2009' +# [end] VPP-GCC-X86_64 PROJECT +# VPP-AARCH64 PROJECT - project: - name: vpp-arm + name: vpp-aarch64 jobs: - - 'vpp-arm-verify-{stream}-{os}' - - 'vpp-arm-merge-{stream}-{os}' + - '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' - - '1901': - branch: 'stable/1901' - repo-stream-part: 'stable.1901' - - '1904': - branch: 'stable/1904' - repo-stream-part: 'stable.1904' + 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: repo-os-part: 'ubuntu-arm.bionic.main' + 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}' -# 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: - # Only master and LTS branches. - - '1908': - branch: 'stable/1908' - repo-stream-part: 'stable.1908' - - master: - branch: 'master' - os: ubuntu1804 - -- project: - name: vpp-info - project-name: vpp - jobs: - - gerrit-info-yaml-verify - build-node: centos7-builder-2c-2g - project: vpp - branch: master - -- project: - name: vpp-view - views: - - project-view - project-name: vpp - -- job-template: - name: 'vpp-historic-verify-{stream}-{os}' - - project-type: freestyle - node: '{os}-us' - concurrent: true - archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' - - triggers: - - gerrit-trigger-checkstyle: - name: '{project}' - branch: '{branch}' - - 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: '75' - - 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' - -- job-template: - name: 'vpp-historic-merge-{stream}-{os}' - - project-type: freestyle - node: '{os}-us' - - 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. - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - fdio-infra-wrappers: - build-timeout: 120 - - 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' - - 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' - -- job-template: - name: 'vpp-arm-verify-{stream}-{os}' - - project-type: freestyle - node: '{os}arm-us' - 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. - - 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}' - - builders: - - shell: - !include-raw-escape: - - ../scripts/setup_vpp_ubuntu_arm_test.sh - - shell: - !include-raw-escape: - - ../scripts/setup_vpp_dpdk_dev_env.sh - - shell: - !include-raw-escape: - - ../scripts/vpp/parallel-vars.sh - # Do not split, the line below wants env vars from the line above. - - ../scripts/vpp/arm-build.sh - - publishers: - - fdio-infra-shiplogs: - maven-version: 'mvn36' - -- job-template: - name: 'vpp-arm-merge-{stream}-{os}' - - project-type: freestyle - node: '{os}arm-m' - - 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. - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - fdio-infra-wrappers: - build-timeout: 120 + 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. +# +- project: + name: vpp-beta-aarch64 + 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' + project: 'vpp' + make-parallel-jobs: '16' + stream: + - master: + branch: 'master' + repo-stream-part: 'master' + branch-head-refspec: '' + os: + - centos8: + repo-os-part: 'centos8' + executor-arch: aarch64 +# [end] VPP-BETA-AARCH64 PROJECT - triggers: - - gerrit-trigger-patch-merged: - name: '{project}' - branch: '{branch}' +# VPP-CSIT-PERPATCH PROJECT +- project: + name: vpp-csit-perpatch + jobs: + - 'vpp-csit-verify-device-{stream}-{device-node-arch}': + make-parallel-jobs: '32' + - 'vpp-csit-verify-perf-{stream}-{node-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: + 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 + - 3n-tsh: + executor: 'ubuntu1804arm-s' + make-parallel-jobs: '16' +# [end] VPP-CSIT-PERPATCH PROJECT - 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_vpp_ubuntu_arm_test.sh - - shell: - !include-raw-escape: - - ../scripts/setup_vpp_dpdk_dev_env.sh - - shell: - !include-raw-escape: - - ../scripts/vpp/parallel-vars.sh - # Do not split, the line below wants env vars from the line above. - - ../scripts/vpp/arm-build-no-test.sh +# VPP-CSIT-API-CRC PROJECT +# +# Only master and LTS branches are supported. +# +- project: + name: vpp-csit-api-crc + jobs: + - 'vpp-csit-verify-api-crc-{stream}' + project: 'vpp' + executor: 'vpp-csit-device' + skip-vote: 'false' + stream: + - '1908': + branch: 'stable/1908' + repo-stream-part: 'stable.1908' + - '2009': + branch: 'stable/2009' + repo-stream-part: 'stable.2009' + - master: + branch: 'master' + os: ubuntu1804 +# [end] VPP-CSIT-API-CRC PROJECT - - provide-maven-settings: - settings-file: 'vpp-settings' - global-settings-file: 'global-settings' - - shell: - !include-raw-escape: - - ../scripts/packagecloud_push.sh +# LF RELENG VPP PROJECTS +- project: + name: vpp-info + project-name: vpp + jobs: + - gerrit-info-yaml-verify + build-node: centos7-builder-2c-2g + project: vpp + branch: master - publishers: - - fdio-infra-shiplogs: - maven-version: 'mvn36' +- project: + name: vpp-view + views: + - project-view + project-name: vpp +# [end] LF RELENG VPP PROJECTS +# [end] PROJECT DEFINITIONS + +# JOB TEMPLATE DEFINITIONS +# +# Please keep job templates in the same order as they are referenced +# in the project definitions above. +# VPP-CHECKSTYLE-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-checkstyle-verify-{stream}' + name: 'vpp-checkstyle-verify-{stream}-{executor-arch}' project-type: freestyle - node: '{os}-us' + node: 'builder-{os}-prod-{executor-arch}' concurrent: true archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' @@ -511,6 +428,8 @@ os: '{os}' - repo-name-parameter: repo-name: '{repo-stream-part}.ubuntu.bionic.main' + - gerrit-refspec-parameter: + refspec: '{branch-head-refspec}' scm: - gerrit-trigger-scm: @@ -521,6 +440,10 @@ wrappers: - fdio-infra-wrappers: build-timeout: '{build-timeout}' + - credentials-binding: + - text: + credential-id: VppApiCompatNotify + variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN triggers: - gerrit: @@ -539,7 +462,8 @@ 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 + # 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: @@ -580,6 +504,9 @@ - shell: !include-raw-escape: - ../scripts/vpp/test-checkstyle.sh + - shell: + !include-raw-escape: + - ../scripts/vpp/api-checkstyle.sh - shell: !include-raw-escape: - ../scripts/vpp/commitmsg.sh @@ -587,12 +514,14 @@ publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE +# VPP-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-beta-verify-{stream}-{os}' + name: 'vpp-verify-{stream}-{os}-{executor-arch}' project-type: freestyle - node: '{os}-us' + node: 'builder-{os}-prod-{executor-arch}' concurrent: true archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' @@ -617,6 +546,10 @@ 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: @@ -629,8 +562,7 @@ build-timeout: 120 triggers: - - gerrit-trigger-manually-triggered: - comment-trigger-value: 'betacheck' + - gerrit-trigger-checkstyle: name: '{project}' branch: '{branch}' @@ -648,18 +580,20 @@ publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-VERIFY JOB TEMPLATE +# VPP-DEBUG-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-verify-{stream}-{os}' + name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}' project-type: freestyle - node: '{os}-us' + node: 'builder-{os}-prod-{executor-arch}' concurrent: true archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' build-discarder: daysToKeep: '{build-days-to-keep}' - numToKeep: 100 + numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' @@ -669,15 +603,15 @@ - gerrit-parameter: branch: '{branch}' - os-parameter: - os: '{os}' + os: 'ubuntu1804' - repo-name-parameter: - repo-name: '{repo-stream-part}.{repo-os-part}' + repo-name: '{repo-stream-part}.ubuntu.bionic.main' - 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: @@ -687,10 +621,12 @@ wrappers: - fdio-infra-wrappers: - build-timeout: 120 + build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-checkstyle: + # TODO: Ensure all supported jobs pass reliably before + # enabling voting. + - gerrit-trigger-checkstyle-nonvoting: name: '{project}' branch: '{branch}' @@ -703,23 +639,23 @@ - ../scripts/setup_vpp_dpdk_dev_env.sh - shell: !include-raw-escape: - - ../scripts/vpp/build.sh + - ../scripts/vpp/debug-build.sh publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-DEBUG-VERIFY JOB TEMPLATE +# VPP-MERGE JOB TEMPLATE - job-template: - name: 'vpp-verify-{stream}-clang' + name: 'vpp-merge-{stream}-{os}-{executor-arch}' project-type: freestyle - node: 'ubuntu1804-us' - concurrent: true - archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' + node: 'builder-{os}-prod-{executor-arch}' build-discarder: daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' + numToKeep: 100 artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' @@ -729,28 +665,49 @@ - gerrit-parameter: branch: '{branch}' - os-parameter: - os: 'ubuntu1804' - - repo-name-parameter: - repo-name: '{repo-stream-part}.ubuntu.bionic.main' + 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: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + refspec: '' + choosing-strategy: 'default' wrappers: - fdio-infra-wrappers: - build-timeout: '{build-timeout}' + build-timeout: 120 triggers: - - gerrit-trigger-checkstyle: + - 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' + - shell: + !include-raw-escape: + - ../scripts/vpp/checkstyle.sh - shell: !include-raw-escape: - ../scripts/setup_vpp_ubuntu_docker_test.sh @@ -759,23 +716,32 @@ - ../scripts/setup_vpp_dpdk_dev_env.sh - shell: !include-raw-escape: - - ../scripts/vpp/clang-build.sh + - ../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-MERGE JOB TEMPLATE +# VPP-BETA-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-coverity-{stream}' + name: 'vpp-beta-verify-{stream}-{os}-{executor-arch}' project-type: freestyle - node: 'ubuntu1804-us' + 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}' + numToKeep: 100 artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' @@ -785,90 +751,58 @@ - gerrit-parameter: branch: '{branch}' - os-parameter: - os: 'ubuntu1804' + os: '{os}' - repo-name-parameter: - repo-name: '{repo-stream-part}.ubuntu.bionic.main' + 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: '' + refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - fdio-infra-wrappers: - build-timeout: '{build-timeout}' + build-timeout: 120 triggers: - - timed: '0 14 * * *' + - gerrit-trigger-manually-triggered: + comment-trigger-value: '{comment-trigger-value}' + name: '{project}' + branch: '{branch}' builders: - shell: - command: !include-raw-escape: ../scripts/vpp/coverity.sh - unstable-return: 42 + !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: - - 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' +# [end] VPP-BETA-VERIFY JOB TEMPLATE +# VPP-BETA-MERGE JOB TEMPLATE - job-template: - name: 'vpp-merge-{stream}-{os}' + name: 'vpp-beta-merge-{stream}-{os}-{executor-arch}' project-type: freestyle - node: '{os}-us' + node: 'builder-{os}-prod-{executor-arch}' build-discarder: daysToKeep: '{build-days-to-keep}' @@ -895,6 +829,8 @@ 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: @@ -907,7 +843,8 @@ build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-merged: + - gerrit-trigger-manually-triggered: + comment-trigger-value: '{comment-trigger-value}' name: '{project}' branch: '{branch}' @@ -942,12 +879,16 @@ publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-BETA-MERGE JOB TEMPLATE +# VPP-GCC-VERIFY JOB TEMPLATE - job-template: - name: 'vpp-beta-merge-{stream}-{os}' + name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}' project-type: freestyle - node: '{os}-us' + node: 'builder-{os}-prod-{executor-arch}' + concurrent: true + archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' build-discarder: daysToKeep: '{build-days-to-keep}' @@ -962,47 +903,34 @@ 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}' + - 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: credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' wrappers: - fdio-infra-wrappers: - build-timeout: '{build-timeout}' + build-timeout: 120 triggers: - - gerrit-trigger-manually-triggered: - comment-trigger-value: 'betamerge' + - gerrit-trigger-checkstyle: 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 - shell: !include-raw-escape: - ../scripts/setup_vpp_ubuntu_docker_test.sh @@ -1011,18 +939,14 @@ - ../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/gcc-build.sh publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-GCC-VERIFY JOB TEMPLATE +# VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE - job-template: name: 'vpp-csit-verify-device-{stream}-{device-node-arch}' description: | @@ -1064,6 +988,8 @@ 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: @@ -1098,7 +1024,9 @@ - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE +# VPP-CSIT-VERIFY-PERF JOB TEMPLATE - job-template: name: 'vpp-csit-verify-perf-{stream}-{node-arch}' description: | @@ -1150,6 +1078,8 @@ 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: @@ -1184,7 +1114,9 @@ output-path: 'csit_current/0/' - lf-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}' @@ -1247,3 +1179,5 @@ publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' +# [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE +# [end] JOB TEMPLATE DEFINITIONS