vswitchperf: Throttle verify and merge jobs
[releng.git] / jjb / vswitchperf / vswitchperf.yml
index 192737b..5f952de 100644 (file)
@@ -1,60 +1,36 @@
 - project:
+
     name: vswitchperf
+
+    project: '{name}'
+
     jobs:
-        - 'vswitchperf-test'
+        - 'vswitchperf-verify-{stream}'
+        - 'vswitchperf-merge-{stream}'
         - 'vswitchperf-daily-{stream}'
-        - 'vswitchperf-merge'
-        - 'vswitchperf-verify'
 
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
     stream:
         - master:
-            branch: 'master'
-
-    project: 'vswitchperf'
-    somevar: 'foo'
+            branch: '{stream}'
+            gs-pathname: ''
+            disabled: false
+            slave-label: 'opnfv-build-ubuntu'
+        - colorado:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            disabled: false
+            slave-label: 'intel-pod3'
 
 - job-template:
-    name: vswitchperf-test
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
 
-    builders:
-        - shell: |
-            echo "Hello world from vswitchperf"
-
-- job-template:
     name: 'vswitchperf-daily-{stream}'
 
-    # Job template for daily builders
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-    #     branch:    branch (eg. stable)
-
-    project-type: freestyle
-    varsetabove: '{somevar}'
-    node: ericsson-build
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+    disabled: '{obj:disabled}'
 
     parameters:
         - project-parameter:
             project: '{project}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/vswitchperf
+        - 'intel-pod3-defaults'
 
     scm:
         - git-scm:
             refspec: ''
             branch: '{branch}'
 
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
     triggers:
-        - timed: 'H H * * *'
-
-    prebuilders:
-        - test-macro
+        - pollscm:
+            cron: '@midnight'
 
     builders:
         - shell: |
             pwd
             cd src
+            make clobber
             make
             # run basic sanity test
             make sanity
-
-    postbuilders:
-        - test-macro
+            cd ../ci
+            scl enable python33 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily"
 
 - job-template:
-    name: 'vswitchperf-verify'
+    name: 'vswitchperf-verify-{stream}'
+
+    disabled: '{obj:disabled}'
 
     project-type: freestyle
-    node: ericsson-build
 
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+    concurrent: true
+
+    properties:
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'vswitchperf-verify-.*'
+                - 'vswitchperf-merge-.*'
+            block-level: 'NODE'
 
     parameters:
         - project-parameter:
             project: '{project}'
         - gerrit-parameter:
-            branch: 'master'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/vswitchperf
+            branch: '{branch}'
+        - '{slave-label}-defaults'
+
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
     triggers:
         - gerrit:
             trigger-on:
                     comment-contains-value: 'reverify'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: 'vswitchperf'
+                project-pattern: '{project}'
                 branches:
                   - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
+                    branch-pattern: '**/{branch}'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'docs/**'
 
     builders:
         - shell: |
             pwd
             cd src
+            make clobber
             make
             # run basic sanity test
             make sanity
+            cd ../ci
+            ./build-vsperf.sh verify
 
 - job-template:
-    name: 'vswitchperf-merge'
+    name: 'vswitchperf-merge-{stream}'
 
-    # builder-merge job to run JJB update
-    #
-    # This job's purpose is to update all the JJB
+    disabled: '{obj:disabled}'
 
     project-type: freestyle
-    node: ericsson-build
 
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 40
-        artifactDaysToKeep: -1
-        artifactNumToKeep: 5
+    concurrent: true
+
+    properties:
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'vswitchperf-verify-.*'
+                - 'vswitchperf-merge-.*'
+            block-level: 'NODE'
 
     parameters:
         - project-parameter:
             project: '{project}'
         - gerrit-parameter:
-            branch: 'master'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/vswitchperf
+            branch: '{branch}'
+        - '{slave-label}-defaults'
 
     scm:
         - gerrit-trigger-scm:
             refspec: ''
             choosing-strategy: 'default'
 
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
     triggers:
         - gerrit:
             trigger-on:
                     comment-contains-value: 'remerge'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: 'vswitchperf'
+                project-pattern: '{project}'
                 branches:
                     - branch-compare-type: 'ANT'
-                      branch-pattern: '**/master'
+                      branch-pattern: '**/{branch}'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'docs/**'
 
     builders:
         - shell: |
             pwd
             cd src
+            make clobber
             make
+            cd ../ci
+            ./build-vsperf.sh merge