Merge "Add INFO.yaml verify job"
[ci-management.git] / jjb / vpp / vpp.yaml
index d366e99..b045191 100644 (file)
       - master:
           branch: 'master'
           repo-stream-part: 'master'
-      - '1801':
-          branch: 'stable/1801'
-          repo-stream-part: 'stable.1801'
-      - '1804':
-          branch: 'stable/1804'
-          repo-stream-part: 'stable.1804'
-      - '1807':
-          branch: 'stable/1807'
-          repo-stream-part: 'stable.1807'
       - '1810':
           branch: 'stable/1810'
           repo-stream-part: 'stable.1810'
-
-    type:
-      - short
-      - long
+      - '1901':
+          branch: 'stable/1901'
+          repo-stream-part: 'stable.1901'
+      - '1904':
+          branch: 'stable/1904'
+          repo-stream-part: 'stable.1904'
 
 - project:
     name: vpp-clang
@@ -40,8 +33,8 @@
 
     project: 'vpp'
     os:
-      - ubuntu1604:
-          repo-os-part: 'ubuntu.xenial.main'
+      - ubuntu1804:
+          repo-os-part: 'ubuntu.bionic.main'
       - centos7:
           repo-os-part: 'centos7'
       - opensuse:
 - project:
     name: vpp-misc
     jobs:
-      - 'vpp-csit-verify-virl-{stream}'
       - 'vpp-checkstyle-verify-{stream}'
     project: 'vpp'
     stream:
       - master:
           branch: 'master'
           repo-stream-part: 'master'
-      - '1801':
-          branch: 'stable/1801'
-          repo-stream-part: 'stable.1801'
-      - '1804':
-          branch: 'stable/1804'
-          repo-stream-part: 'stable.1804'
-      - '1807':
-          branch: 'stable/1807'
-          repo-stream-part: 'stable.1807'
       - '1810':
           branch: 'stable/1810'
           repo-stream-part: 'stable.1810'
+      - '1901':
+          branch: 'stable/1901'
+          repo-stream-part: 'stable.1901'
+      - '1904':
+          branch: 'stable/1904'
+          repo-stream-part: 'stable.1904'
     os: ubuntu1604
 
 - project:
     name: vpp-perpatch
     jobs:
-      - 'vpp-csit-verify-perf-{stream}-2n-skx'
+      - 'vpp-csit-verify-device-{stream}-1n-skx'
+      - 'vpp-csit-verify-perf-{stream}-{node-arch}'
     project: 'vpp'
     stream:
       - master:
           branch: 'master'
           repo-stream-part: 'master'
-    os: ubuntu1604
+    os: ubuntu1804
+    node-arch:
+      - 2n-skx
+      - 3n-skx
+      - 3n-hsw
 
 - project:
     name: vpp-master-only
       - master:
           branch: 'master'
           repo-stream-part: 'master'
-      - '1810':
-          branch: 'stable/1810'
-          repo-stream-part: 'stable.1810'
+      - '1901':
+          branch: 'stable/1901'
+          repo-stream-part: 'stable.1901'
+      - '1904':
+          branch: 'stable/1904'
+          repo-stream-part: 'stable.1904'
     os:
       - ubuntu1804:
           repo-os-part: 'ubuntu.bionic.main'
       - 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'
     os:
       - ubuntu1804:
           repo-os-part: 'ubuntu-arm.bionic.main'
     name: vpp-arm-old
     jobs:
       - 'vpp-arm-old-verify-{stream}-{os}'
-      - 'vpp-arm-merge-{stream}-{os}'
+      - 'vpp-arm-old-merge-{stream}-{os}'
     project: 'vpp'
     stream:
-      - '1804':
-          branch: 'stable/1804'
-          repo-stream-part: 'stable.1804'
-      - '1807':
-          branch: 'stable/1807'
-          repo-stream-part: 'stable.1807'
       - '1810':
           branch: 'stable/1810'
           repo-stream-part: 'stable.1810'
       - ubuntu1604:
           repo-os-part: 'ubuntu-arm.xenial.main'
 
+- project:
+    name: vpp-view
+    views:
+      - project-view
+    project-name: vpp
+
 - job-template:
     name: 'vpp-beta-verify-{stream}-{os}'
 
     project-type: freestyle
     node: '{os}-us'
     concurrent: true
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+      **/tmp/vpp-failed-unittests/*/* **/core
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
+
     triggers:
       - gerrit-trigger-checkstyle:
           name: '{project}'
           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:
           - include-raw-vpp-build.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
-          archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
       - naginator:
           rerun-unstable-builds: false
           max-failed-builds: 1
 
     project-type: freestyle
     node: '{os}-us'
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           - include-raw-vpp-maven-push.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
     project-type: freestyle
     node: '{os}arm-us'
     concurrent: true
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           - include-raw-vpp-arm-build-no-test.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
     project-type: freestyle
     node: '{os}arm-us'
     concurrent: true
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           build-timeout: 120
 
     triggers:
-      - gerrit-trigger-checkstyle-nonvoting:
+      - gerrit-trigger-checkstyle:
           name: '{project}'
           branch: '{branch}'
 
           - include-raw-vpp-arm-build.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
+      - naginator:
+          rerun-unstable-builds: false
+          max-failed-builds: 1
+          fixed-delay: 90
 
 - job-template:
     name: 'vpp-arm-merge-{stream}-{os}'
 
+    project-type: freestyle
+    node: '{os}arm-m'
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: 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}'
+      - 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'
+      - maven-target:
+          maven-version: 'mvn33-new'
+          goals: '--version'
+          settings: 'vpp-settings'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - shell:
+          !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_dpdk_dev_env.sh
+          - include-raw-vpp-parallel-vars.sh
+          - include-raw-vpp-arm-build-no-test.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: 'mvn33-new'
+
+- job-template:
+    name: 'vpp-arm-old-merge-{stream}-{os}'
+
     project-type: freestyle
     node: '{os}arm-us'
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           global-settings: 'global-settings'
           global-settings-type: cfp
       - shell:
-          !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
+          !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
       - shell:
           !include-raw-escape:
           - ../scripts/setup_vpp_dpdk_dev_env.sh
-          - include-raw-vpp-arm-build.sh
+          - include-raw-vpp-parallel-vars.sh
+          - include-raw-vpp-arm-build-no-test.sh
+
       - provide-maven-settings:
           settings-file: 'vpp-settings'
           global-settings-file: 'global-settings'
           - include-raw-vpp-maven-push.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
           !include-raw-escape: include-raw-vpp-checkstyle.sh
       - shell:
           !include-raw-escape: include-raw-vpp-test-checkstyle.sh
+      - shell:
+          !include-raw-escape: include-raw-vpp-commitmsg.sh
 
     publishers:
       - fdio-infra-shiplogs:
     project-type: freestyle
     node: '{os}-us'
     concurrent: true
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           - include-raw-vpp-build.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
     name: 'vpp-verify-{stream}-clang'
 
     project-type: freestyle
-    node: 'ubuntu1604-us'
+    node: 'ubuntu1804-us'
     concurrent: true
 
     build-discarder:
       - os-parameter:
           os: 'ubuntu1604'
       - repo-name-parameter:
-          repo-name: '{repo-stream-part}.ubuntu.xenial.main'
+          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
       - stream-parameter:
           stream: '{stream}'
 
 
     project-type: freestyle
     node: '{os}-us'
+    archive-artifacts: >
+      **/build-root/*.rpm
+      **/build-root/*.deb
+      **/dpdk/*.rpm
+      **/dpdk/*.deb
+    allow-empty: 'true'
+    fingerprint: false
+    only-if-success: true
+    default-excludes: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
           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:
           - include-raw-vpp-maven-push.sh
 
     publishers:
-      - archive:
-          artifacts: >
-            **/build-root/*.rpm,
-            **/build-root/*.deb,
-            **/dpdk/*.rpm,
-            **/dpdk/*.deb
-          allow-empty: 'true'
-          fingerprint: false
-          only-if-success: true
-          default-excludes: false
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
       - naginator:
           fixed-delay: 90
 
 - job-template:
-    name: 'vpp-csit-verify-virl-{stream}'
+    name: 'vpp-csit-verify-device-{stream}-1n-skx'
 
     project-type: freestyle
-    node: '{os}-us'
+    node: 'vpp-csit-device'
     concurrent: true
+    archive-artifacts: '**/csit_current/**/*.*'
+    latest-only: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
       - os-parameter:
           os: '{os}'
       - repo-name-parameter:
-          repo-name: '{repo-stream-part}.ubuntu.xenial.main'
-      - is-csit-vpp-job-parameter:
-          is-csit-vpp-job: 'True'
-      - string:
-          name: CSIT_REF
-          description: "Also testing CSIT_REF"
+          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.
 
     scm:
       - gerrit-trigger-scm:
           build-timeout: '90'
 
     triggers:
-      - gerrit-trigger-checkstyle-nonvoting:
+      - gerrit-trigger-csit-devicetest:
           name: '{project}'
           branch: '{branch}'
 
     builders:
-      - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
-      - inject:
-          properties-file: variables.prop
       - shell:
-          !include-raw-escape:
-          - ../scripts/setup_vpp_ubuntu_docker_test.sh
-          - ../scripts/setup_vpp_dpdk_dev_env.sh
-          - include-raw-vpp-build.sh
+          !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
       - shell:
           !include-raw-escape:
-          - include-raw-vpp-csit-functional.sh
+          - include-raw-vpp-csit-device.sh
 
-    publishers:
-      - archive-artifacts:
-          artifacts: >
-            **/csit/report.html,
-            **/csit/log.html,
-            **/csit/output.xml
-          latest-only: false
 
+    publishers:
       - robot-report:
-          output-path: 'csit'
+          output-path: 'csit_current/'
 
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'vpp-csit-verify-perf-{stream}-2n-skx'
+    name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
 
     project-type: freestyle
-    node: '{os}-basebuild-8c-32g'
+    node: '{os}-us'
     concurrent: true
+    archive-artifacts: >
+      **/csit_current/**/*.*
+      **/csit_parent/**/*.*
+    latest-only: false
 
     build-discarder:
       daysToKeep: '{build-days-to-keep}'
       - gerrit-csit-refspec-parameter
       - string:
           name: CSIT_PERF_TRIAL_DURATION
-          default: "1.0"
+          default: "10.0"
           description: "Duration of a trial measurement in BMRR tests."
       - string:
           name: CSIT_PERF_TRIAL_MULTIPLICITY
-          default: "8"
+          default: "5"
           description: "Number of subsamples for BMRR tests."
       - stream-parameter:
           stream: '{stream}'
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
 
     scm:
       - gerrit-trigger-scm:
           build-timeout: 300
 
     triggers:
-      - gerrit:
-          server-name: 'Primary'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'perftest'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
+      - gerrit-trigger-csit-perftest:
+          name: '{project}'
+          branch: '{branch}'
+          node-arch: '{node-arch}'
 
     builders:
+      - shell:
+          !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
       - shell:
           !include-raw-escape:
-          - clone-csit-run-main.sh
+          - include-raw-vpp-csit-perf.sh
 
     publishers:
-      - archive-artifacts:
-          artifacts: >
-            **/csit_new/**/*.*,
-            **/csit_parent/**/*.*
-          latest-only: false
-
       - robot-report:
-          output-path: 'csit_new/0/'
+          output-path: 'csit_current/0/'
 
       - fdio-infra-shiplogs:
           maven-version: 'mvn33-new'
 
-- parameter:
-    name: type-parameter
-
-    parameters:
-      - string:
-          name: TYPE
-          default: '{type}'
-          description: "TYPE parameter if not given by trigger"
+- project:
+    name: vpp-info
+    project-name: vpp
+    jobs:
+      - gerrit-info-yaml-verify
+    build-node: centos7-builder-4c-4g
+    project: vpp
+    branch: master