Prevent triggering unnecessary genesis jobs when docs change
[releng.git] / jjb / genesis / genesis-foreman.yml
index c5c4035..e447880 100644 (file)
     installer: 'foreman'
 
     jobs:
-        - 'genesis-foreman-verify-{stream}'
+        - 'genesis-foreman-verify-build-{stream}'
         - 'genesis-foreman-merge-{stream}'
         - 'genesis-foreman-daily-{stream}'
         - 'genesis-foreman-build-{stream}'
         - 'genesis-foreman-deploy-{stream}'
         - 'genesis-foreman-lab-reconfig-{stream}'
         - 'genesis-foreman-deploy-runner-{stream}'
-        - 'genesis-foreman-deploy-virtual-{stream}'
+        - 'genesis-foreman-verify-deploy-virtual-{stream}'
 
     # stream:    branch with - in place of / (eg. stable-arno)
     # branch:    branch (eg. stable/arno)
@@ -33,7 +33,7 @@
 ########################
 
 - job-template:
-    name: 'genesis-foreman-verify-{stream}'
+    name: 'genesis-foreman-verify-build-{stream}'
 
     project-type: freestyle
 
@@ -44,7 +44,7 @@
     properties:
         - throttle:
             enabled: true
-            max-total: 2
+            max-total: 1
 
     logrotate:
         daysToKeep: 30
                     branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'common/**'
+                    pattern: 'common/ci/**'
                   - compare-type: ANT
-                    pattern: '{installer}/**'
+                    pattern: 'common/manifests/**'
+                  - compare-type: ANT
+                    pattern: 'common/puppet-opnfv/**'
+                  - compare-type: ANT
+                    pattern: 'common/tools/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/build/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/ci/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/include/**'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/docs/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/docs/**'
 
     builders:
         - 'foreman-build'
               - project-compare-type: 'ANT'
                 project-pattern: 'genesis'
                 branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/{branch}'
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'common/**'
+                    pattern: 'common/ci/**'
                   - compare-type: ANT
-                    pattern: '{installer}/**'
+                    pattern: 'common/manifests/**'
+                  - compare-type: ANT
+                    pattern: 'common/puppet-opnfv/**'
+                  - compare-type: ANT
+                    pattern: 'common/tools/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/build/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/ci/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/include/**'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/docs/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/docs/**'
 
     builders:
         - 'foreman-build'
-        - 'fuel-workspace-cleanup'
+        - 'foreman-workspace-cleanup'
 
 - job-template:
     name: 'genesis-foreman-daily-{stream}'
 
     node: ericsson-build
 
-    disabled: true
+    disabled: false
 
     triggers:
         - 'foreman-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
-          - project: 'functest-opnfv-jump-2'
+          - project: 'functest-foreman-{stream}'
             block: true
+            block-thresholds:
+                build-step-failure-threshold: 'never'
+                failure-threshold: 'never'
+                unstable-threshold: 'FAILURE'
         - trigger-builds:
-          - project: 'yardstick-opnfv-jump-2'
+          - project: 'yardstick-foreman-{stream}'
             block: true
+            block-thresholds:
+                build-step-failure-threshold: 'never'
+                failure-threshold: 'never'
+                unstable-threshold: 'FAILURE'
 
 - job-template:
     name: 'genesis-foreman-deploy-runner-{stream}'
     builders:
         - 'foreman-build'
         - 'foreman-upload-artifact'
-        - 'fuel-workspace-cleanup'
+        - 'foreman-workspace-cleanup'
 
 - job-template:
     name: 'genesis-foreman-deploy-{stream}'
         - 'foreman-lab-reconfig'
 
 - job-template:
-    name: 'genesis-foreman-deploy-virtual-{stream}'
+    name: 'genesis-foreman-verify-deploy-virtual-{stream}'
 
     project-type: freestyle
 
-    disabled: false
-
     node: opnfv-jump-1
 
     logrotate:
     parameters:
         - project-parameter:
             project: '{project}'
+        - gerrit-parameter:
+            branch: '{branch}'
         - foreman-parameter:
             installer: '{installer}'
             gs-pathname: '{gs-pathname}'
             name: GIT_BASE
             default: ssh://gerrit.opnfv.org:29418/$PROJECT
             description: "Used for overriding the GIT URL coming from parameters macro."
-
     scm:
-        - git-scm:
+        - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - patchset-created-event:
+                    exclude-drafts: 'false'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'false'
+                - draft-published-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'recheck'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: '{installer}/**'
+            dependency-jobs: 'genesis-foreman-verify-build-{stream}'
+
 
     builders:
         - 'foreman-deploy-virtual'
             done
 
             if [ "$ping_flag" -eq 1 ]; then
-              echo "Slave is pingable, now wait 90 seconds for services to start"
-              sleep 90
+              echo "Slave is pingable, now wait 180 seconds for services to start"
+              sleep 180
             else
               echo "Slave did not come back up after reboot: please check opnfv-jump-2"
               exit 1
 - trigger:
     name: 'foreman-master'
     triggers:
-        - pollscm: '0 21 * * *'
+        - timed: '0 11 * * *'
 
 - trigger:
     name: 'foreman-stable-arno'
     triggers:
-        - pollscm: '0 1 * * *'
+        - timed: '0 17 * * *'