--- # 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-checkstyle-x86_64 jobs: - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}' project: 'vpp' 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: '' os: 'ubuntu1804' executor-arch: 'x86_64' # [end] VPP-CHECKSTYLE-X86_64 PROJECT # VPP-X86_64 PROJECT - project: name: vpp-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: '' - '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: - ubuntu1804: repo-os-part: 'ubuntu.bionic.main' executor-arch: 'x86_64' # [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: '' 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 # may not get fixes for the intermittent failures. # - project: name: vpp-debug-x86_64 jobs: - 'vpp-debug-verify-{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: - 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-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 jobs: - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}' project: 'vpp' executor-arch: 'x86_64' os: - ubuntu2004: repo-os-part: 'ubuntu.focal.main' stream: - master: branch: 'master' repo-stream-part: 'master' branch-head-refspec: '' - '2009': branch: 'stable/2009' repo-stream-part: 'stable.2009' branch-head-refspec: '' # [end] VPP-GCC-X86_64 PROJECT # VPP-AARCH64 PROJECT - project: name: vpp-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: '' - '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: - 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}' # # 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' - ubuntu2004: repo-os-part: 'ubuntu.focal.main' executor-arch: aarch64 # [end] VPP-BETA-AARCH64 PROJECT # 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' 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' 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 - 3n-tsh: executor: 'ubuntu1804arm-s' 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 # 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 # 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 - 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}-{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}' 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: 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: '{build-timeout}' - credentials-binding: - text: credential-id: VppApiCompatNotify variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN triggers: - gerrit: server-name: 'Primary' trigger-on: - patchset-created-event: exclude-drafts: 'true' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'checkstylecheck' - comment-added-contains-event: comment-contains-value: 'docsonly' - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' # Following two are to cover missing functions of drafts # going to review status - comment-added-contains-event: comment-contains-value: 'runtest' - comment-added-contains-event: comment-contains-value: 'This change is ready for review' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - 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' override-votes: true gerrit-build-notbuilt-verified-value: 0 gerrit-build-successful-verified-value: 1 # yamllint disable-line rule:line-length notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.' # yamllint disable-line rule:line-length failed-message: 'Checkstyle failed. No further verify jobs will be started.' successful-message: 'checkstyle_success' skip-vote: successful: true failed: false unstable: false 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/test-checkstyle.sh - shell: !include-raw-escape: - ../scripts/vpp/api-checkstyle.sh - shell: !include-raw-escape: - ../scripts/vpp/commitmsg.sh publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE # VPP-VERIFY JOB TEMPLATE - job-template: name: 'vpp-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: 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_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-VERIFY JOB TEMPLATE # VPP-DEBUG-VERIFY JOB TEMPLATE - job-template: name: 'vpp-debug-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}' parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - os-parameter: os: 'ubuntu1804' - repo-name-parameter: repo-name: '{repo-stream-part}.ubuntu.bionic.main' - stream-parameter: stream: '{stream}' - 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: '{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 - shell: !include-raw-escape: - ../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-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: 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_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 publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' # [end] VPP-MERGE JOB TEMPLATE # VPP-BETA-VERIFY JOB TEMPLATE - job-template: name: 'vpp-beta-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: 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: 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_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/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: | project-type: freestyle node: '{device-executor}' 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}' 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 - 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: credentials-id: 'jenkins-gerrit-credentials' refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - fdio-infra-wrappers: build-timeout: '90' triggers: - '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 - 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 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE - job-template: name: 'vpp-csit-verify-perf-{stream}-{node-arch}' description: | project-type: freestyle node: '{executor}' 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}' 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. - 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' wrappers: - fdio-infra-wrappers-non-activity-timeout: build-timeout: 300 triggers: - gerrit-trigger-csit-perftest: project: '{project}' branch: '{branch}' trigger-word: 'perftest-{node-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 - shell: !include-raw-escape: - ../scripts/vpp/csit-perf.sh publishers: - robot-report: 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}' project-type: freestyle node: '{os}-us' concurrent: true archive-artifacts: '' latest-only: false build-discarder: daysToKeep: '{build-days-to-keep}' numToKeep: 100 artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - gerrit-refspec-parameter - gerrit-csit-refspec-parameter - stream-parameter: stream: '{stream}' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. # Not sure whether not failing has any useful usage, # but it does not hurt to have some flexibility for future. - csit-fail-on-crc-mismatch-parameter: fail-on-crc-mismatch: 'True' scm: - gerrit-trigger-scm: credentials-id: 'jenkins-gerrit-credentials' refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - fdio-infra-wrappers-non-activity-timeout: build-timeout: 300 triggers: # TODO: Make other verify jobs trigger on success of this one, # without breaking verification for VPP branches before stable/1908. - gerrit-trigger-checkstyle: name: '{project}' branch: '{branch}' builders: - shell: !include-raw-escape: - ../scripts/setup_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 publishers: - fdio-infra-shiplogs: maven-version: 'mvn36' # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE # [end] JOB TEMPLATE DEFINITIONS