Merge "deb_dpdk: add new 18.02.x branch"
[ci-management.git] / jjb / vpp / vpp.yaml
index 22c6196..b8b45fc 100644 (file)
@@ -1,42 +1,35 @@
+---
 - project:
     name: vpp
     jobs:
         - 'vpp-verify-{stream}-{os}'
         - 'vpp-merge-{stream}-{os}'
-        - 'vpp-verify-image-{stream}-{os}'
         - 'vpp-docs-merge-{stream}'
         - 'vpp-docs-verify-{stream}'
         - 'vpp-make-test-docs-merge-{stream}'
         - 'vpp-make-test-docs-verify-{stream}'
-        - 'vpp-test-packagecloud-{stream}-{os}'
+        - 'vpp-promote-{stream}-{os}'
+        - 'vpp-cpoc-verify-{stream}-{os}'
 
     project: 'vpp'
     os:
-        - ubuntu1404:
-            repo-os-part: 'ubuntu.trusty.main'
-        - ubuntu1604:
-            repo-os-part: 'ubuntu.xenial.main'
-        - centos7:
-            repo-os-part: 'centos7'
+      - ubuntu1604:
+          repo-os-part: 'ubuntu.xenial.main'
+      - centos7:
+          repo-os-part: 'centos7'
+      - opensuse:
+          repo-os-part: 'opensuse'
+
     stream:
         - master:
             branch: 'master'
             repo-stream-part: 'master'
-        - test:
-            branch: 'stable/test'
-            repo-stream-part: 'stable.test'
-        - '1606':
-            branch: 'stable/1606'
-            repo-stream-part: 'stable.1606'
-        - '1609':
-            branch: 'stable/1609'
-            repo-stream-part: 'stable.1609'
-        - '1701':
-            branch: 'stable/1701'
-            repo-stream-part: 'stable.1701'
-        - '1704':
-            branch: 'stable/1704'
-            repo-stream-part: 'stable.1704'
+        - '1710':
+            branch: 'stable/1710'
+            repo-stream-part: 'stable.1710'
+        - '1801':
+            branch: 'stable/1801'
+            repo-stream-part: 'stable.1801'
     type:
         - short
         - long
     name: vpp-misc
     jobs:
         - 'vpp-csit-verify-virl-{stream}'
-        - 'vpp-csit-verify-hw-perf-{stream}-{type}'
+        - 'vpp-csit-verify-hw-perf-{stream}'
     project: 'vpp'
     stream:
         - master:
             branch: 'master'
             repo-stream-part: 'master'
-        - test:
-            branch: 'stable/test'
-            repo-stream-part: 'stable.test'
-        - '1606':
-            branch: 'stable/1606'
-            repo-stream-part: 'stable.1606'
-        - '1609':
-            branch: 'stable/1609'
-            repo-stream-part: 'stable.1609'
-        - '1701':
-            branch: 'stable/1701'
-            repo-stream-part: 'stable.1609'
-        - '1704':
-            branch: 'stable/1704'
-            repo-stream-part: 'stable.1704'
+        - '1710':
+            branch: 'stable/1710'
+            repo-stream-part: 'stable.1710'
+        - '1801':
+            branch: 'stable/1801'
+            repo-stream-part: 'stable.1801'
     os: ubuntu1604
-    type:
-        - all
-        - short
-        - long
+
 
 - job-template:
     name: 'vpp-verify-{stream}-{os}'
 
     project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
+    node: '{os}-basebuild-8c-32g'
     concurrent: true
 
     logrotate:
             build-timeout: '{build-timeout}'
 
     triggers:
-        - gerrit-trigger-patch-submitted:
+        - gerrit-trigger-trivial-patch-submitted:
             name: '{project}'
             branch: '{branch}'
 
             default-excludes: false
         - fdio-infra-shiplogs:
             maven-version: 'mvn33-new'
-
-- job-template:
-    name: 'vpp-verify-image-{stream}-{os}'
-
-    project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
-    concurrent: true
-
-    logrotate:
-        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}.{repo-os-part}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: 'jenkins-gerrit-credentials'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
-
-    wrappers:
-        - fdio-infra-wrappers:
-            build-timeout: '{build-timeout}'
-
-    triggers:
-        - gerrit:
-            server-name: 'Primary'
-            trigger-on:
-                - comment-added-contains-event:
-                    comment-contains-value: 'verify-images'
-            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
-
-    builders:
-        - shell:
-            !include-raw-escape: include-raw-vpp-checkstyle.sh
-        - shell:
-            !include-raw-escape:
-                - ../scripts/setup_vpp_dpdk_dev_env.sh
-                - include-raw-vpp-build.sh
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+            archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
 
 - job-template:
     name: 'vpp-merge-{stream}-{os}'
 
     project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
+    node: '{os}-basebuild-8c-32g'
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
             branch: '{branch}'
 
     builders:
+        - config-file-provider:
+            files:
+              - file-id: '.packagecloud'
+                target: '/home/jenkins'
+        - config-file-provider:
+            files:
+              - file-id: 'packagecloud_api'
+                target: '/home/jenkins'
         - maven-target:
             maven-version: 'mvn33-new'
             goals: '--version'
     name: 'vpp-csit-verify-virl-{stream}'
 
     project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
+    node: '{os}-basebuild-8c-32g'
     concurrent: true
 
     logrotate:
             branch: '{branch}'
 
     builders:
+        - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
+        - inject:
+            properties-file: variables.prop
         - shell:
-            !include-raw-escape: include-raw-vpp-checkstyle.sh
+            !include-raw-escape:
+                - include-raw-vpp-checkstyle.sh
         - shell:
             !include-raw-escape:
+                - ../scripts/setup_vpp_ubuntu_docker_test.sh
                 - ../scripts/setup_vpp_dpdk_dev_env.sh
                 - include-raw-vpp-build.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-csit-functional.sh
+            !include-raw-escape:
+                - include-raw-vpp-csit-functional.sh
 
     publishers:
         - archive-artifacts:
             maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
+    name: 'vpp-csit-verify-hw-perf-{stream}'
 
     project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
+    node: '{os}-basebuild-8c-32g'
     concurrent: false
 
     logrotate:
             os: '{os}'
         - repo-name-parameter:
             repo-name: '{repo-stream-part}.ubuntu.xenial.main'
-        - type-parameter:
-            type: '{type}'
         - is-csit-vpp-job-parameter:
             is-csit-vpp-job: 'True'
 
             build-timeout: 30
 
     triggers:
-        - gerrit-trigger-manually-triggered:
-            comment-trigger-value: 'verify-perf-{type}'
-            name: '{project}'
-            branch: '{branch}'
+        - gerrit:
+            server-name: 'Primary'
+            trigger-on:
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-l2'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-ip4'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-ip6'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-lisp'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-vxlan'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-vhost'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-acl'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-memif'
+                - comment-added-contains-event:
+                    comment-contains-value: 'vpp-verify-perf-ipsechw'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+            skip-vote:
+                successful: false
+                failed: false
+                unstable: false
+                notbuilt: false
 
     builders:
+        - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
+        - inject:
+            properties-file: variables.prop
         - shell:
             !include-raw-escape:
                 - ../scripts/setup_vpp_dpdk_dev_env.sh
                 - include-raw-vpp-build.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
+            !include-raw-escape:
+                - include-raw-vpp-csit-verify-perf.sh
 
     publishers:
         - archive-artifacts:
     name: 'vpp-docs-verify-{stream}'
 
     project-type: freestyle
-    node: ubuntu1604-basebuild-4c-4g
+    node: ubuntu1604-basebuild-8c-32g
     concurrent: true
 
     logrotate:
     name: 'vpp-docs-merge-{stream}'
 
     project-type: freestyle
-    node: ubuntu1604-basebuild-4c-4g
+    node: ubuntu1604-basebuild-8c-32g
     concurrent: true
 
     logrotate:
 
     triggers:
         - reverse:
-            jobs: 'vpp-merge-{stream}-ubuntu1404'
+            jobs: 'vpp-merge-{stream}-ubuntu1604'
             result: 'success'
         - gerrit:
             server-name: 'Primary'
     name: 'vpp-make-test-docs-verify-{stream}'
 
     project-type: freestyle
-    node: ubuntu1604-basebuild-4c-4g
+    node: ubuntu1604-basebuild-8c-32g
     concurrent: true
 
     logrotate:
     name: 'vpp-make-test-docs-merge-{stream}'
 
     project-type: freestyle
-    node: ubuntu1604-basebuild-4c-4g
+    node: ubuntu1604-basebuild-8c-32g
     concurrent: true
 
     logrotate:
 
     triggers:
         - reverse:
-            jobs: 'vpp-merge-{stream}-ubuntu1404'
+            jobs: 'vpp-merge-{stream}-ubuntu1604'
             result: 'success'
         - gerrit:
             server-name: 'Primary'
             maven-version: 'mvn33-new'
 
 - job-template:
-    name: 'vpp-test-packagecloud-{stream}-{os}'
+    name: 'vpp-promote-{stream}-{os}'
 
     project-type: freestyle
-    node: '{os}-basebuild-4c-4g'
+    node: '{os}-basebuild-8c-32g'
+
+    logrotate:
+      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}'
+      - stream-parameter:
+          stream: '{stream}'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.{repo-os-part}'
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-manually-triggered:
+          name: '{project}'
+          branch: '{branch}'
+          comment-trigger-value: 'test-pkgcloud'
+
+    builders:
+      - config-file-provider:
+          files:
+            - file-id: '.packagecloud'
+              target: '/home/jenkins'
+      - config-file-provider:
+          files:
+            - file-id: 'packagecloud_api'
+              target: '/home/jenkins'
+      - shell:
+          !include-raw-escape: include-raw-vpp-checkstyle.sh
+      - shell:
+          !include-raw-escape: include-raw-vpp-test-checkstyle.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/setup_vpp_dpdk_dev_env.sh
+          - include-raw-vpp-build.sh
+      - shell:
+          !include-raw-escape:
+          - ../scripts/packagecloud_promote.sh
+
+    publishers:
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'
+
+- job-template:
+    name: 'vpp-cpoc-verify-{stream}-{os}'
+
+    project-type: freestyle
+    node: '{os}-s'
     concurrent: true
 
     logrotate:
             branch: '{branch}'
         - os-parameter:
             os: '{os}'
-        - stream-parameter:
-            stream: '{stream}'
         - repo-name-parameter:
             repo-name: '{repo-stream-part}.{repo-os-part}'
 
         - gerrit-trigger-manually-triggered:
             name: '{project}'
             branch: '{branch}'
-            comment-trigger-value: 'test-pkgcloud'
-
+            comment-trigger-value: 'test-cpoc'
+        - gerrit-trigger-trivial-patch-submitted-skip-vote:
+            name: '{project}'
+            branch: '{branch}'
 
     builders:
-        - config-file-provider:
-            files:
-              - file-id: '.packagecloud'
-                target: '/home/jenkins'
-                #variable: 'SETTINGS_FILE'
         - shell:
             !include-raw-escape: include-raw-vpp-checkstyle.sh
         - shell:
             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
         - shell:
             !include-raw-escape:
+                - ../scripts/setup_vpp_ubuntu_docker_test.sh
                 - ../scripts/setup_vpp_dpdk_dev_env.sh
                 - include-raw-vpp-build.sh
-        - shell:
-            !include-raw-escape:
-                - ../scripts/packagecloud_push.sh
-
     publishers:
         - archive:
             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
             default-excludes: false
         - fdio-infra-shiplogs:
             maven-version: 'mvn33-new'
+            archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
+        - naginator:
+            rerun-unstable-builds: true
+            max-failed-builds: 1
+            fixed-delay: 10
+
+