Put workspace cleanup back for genesis/fuel and genesis/foreman
[releng.git] / jjb / genesis / genesis-foreman.yml
index 5fd1135..656b443 100644 (file)
     installer: 'foreman'
 
     jobs:
-        - 'genesis-foreman-verify'
+        - 'genesis-foreman-verify-{stream}'
         - 'genesis-foreman-merge'
         - 'genesis-foreman-daily-{stream}'
-        - 'genesis-foreman-build'
-        - 'genesis-foreman-deploy'
+        - 'genesis-foreman-build-{stream}'
+        - 'genesis-foreman-deploy-{stream}'
 
+    # stream:    branch with - in place of / (eg. stable-arno)
+    # branch:    branch (eg. stable/arno)
     stream:
         - master:
             branch: 'master'
-
+            gs-pathname: ''
+        - stable-arno:
+            branch: 'stable/arno'
+            gs-pathname: '/arno'
 ########################
 # job templates
 ########################
 
 - job-template:
-    name: 'genesis-foreman-verify'
+    name: 'genesis-foreman-verify-{stream}'
 
     project-type: freestyle
 
         - project-parameter:
             project: '{project}'
         - gerrit-parameter:
-            branch: 'master'
+            branch: '{branch}'
         - foreman-parameter:
             installer: '{installer}'
-
+            gs-pathname: '{gs-pathname}'
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
@@ -79,7 +84,7 @@
                 project-pattern: 'genesis'
                 branches:
                   - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
+                    branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
                     pattern: 'common/**'
@@ -88,6 +93,7 @@
 
     builders:
         - 'foreman-build'
+        - 'foreman-workspace-cleanup'
 
 - job-template:
     name: 'genesis-foreman-merge'
 
     node: ericsson-build
 
+    concurrent: true
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 2
+
     logrotate:
         daysToKeep: 30
         numToKeep: 40
             branch: 'master'
         - foreman-parameter:
             installer: '{installer}'
-
+            gs-pathname: ''
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
 
     builders:
         - 'foreman-build'
+        - 'fuel-workspace-cleanup'
 
 - job-template:
     name: 'genesis-foreman-daily-{stream}'
 
     disabled: false
 
+    triggers:
+        - 'foreman-{stream}'
+
     parameters:
         - project-parameter:
             project: '{project}'
         - foreman-parameter:
             installer: '{installer}'
-
+            gs-pathname: '{gs-pathname}'
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
-
-    triggers:
-        - timed: '@midnight'
+            branch: '{branch}'
 
     logrotate:
         daysToKeep: 30
 
     builders:
         - trigger-builds:
-          - project: 'genesis-foreman-build'
+          - project: 'genesis-foreman-build-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
-          - project: 'genesis-foreman-deploy'
+          - project: 'genesis-foreman-deploy-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
           - project: 'functest-opnfv-jump-2'
             block: true
+        - trigger-builds:
+          - project: 'yardstick-opnfv-jump-2'
+            block: true
 
 - job-template:
-    name: 'genesis-foreman-build'
+    name: 'genesis-foreman-build-{stream}'
 
     project-type: freestyle
 
             project: '{project}'
         - foreman-parameter:
             installer: '{installer}'
-
+            gs-pathname: '{gs-pathname}'
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
+            branch: '{branch}'
 
     builders:
         - 'foreman-build'
         - 'foreman-upload-artifact'
+        - 'fuel-workspace-cleanup'
 
 - job-template:
-    name: 'genesis-foreman-deploy'
+    name: 'genesis-foreman-deploy-{stream}'
 
     project-type: freestyle
 
             project: '{project}'
         - foreman-parameter:
             installer: '{installer}'
+            gs-pathname: '{gs-pathname}'
+        - string:
+            name: GIT_BASE
+            default: ssh://gerrit.opnfv.org:29418/$PROJECT
+            description: "Used for overriding the GIT URL coming from parameters macro."
 
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
+            branch: '{branch}'
 
     builders:
         - 'foreman-deploy'
             description: "Directory where the build artifact will be located upon the completion of the build."
         - string:
             name: CACHE_DIRECTORY
-            default: $HOME/opnfv/cache/genesis-$INSTALLER
+            default: $HOME/opnfv/cache/genesis-$INSTALLER{gs-pathname}
             description: "Directory where the cache to be used during the build is located."
         - string:
             name: GIT_BASE
             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
         - string:
             name: GS_URL
-            default: artifacts.opnfv.org/$PROJECT/$INSTALLER
+            default: artifacts.opnfv.org/$PROJECT/$INSTALLER{gs-pathname}
             description: "URL to Google Storage."
 
 ########################
             echo
             echo "--------------------------------------------------------"
             echo "Done!"
+            echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+
+- builder:
+    name: 'foreman-workspace-cleanup'
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+
+            # delete everything that is in $WORKSPACE
+            /bin/rm -rf $WORKSPACE
+
+########################
+# trigger macros
+########################
+- trigger:
+    name: 'foreman-master'
+    triggers:
+        - pollscm: '0 21 * * *'
+
+- trigger:
+    name: 'foreman-stable-arno'
+    triggers:
+        - pollscm: '0 3 * * *'