Refactor joid JJB to prepare for Milestone E 31/4931/6
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>
Fri, 18 Dec 2015 14:34:33 +0000 (15:34 +0100)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Mon, 21 Dec 2015 21:25:18 +0000 (21:25 +0000)
Replace default stream definitions with stream anchors in order
to be able to specify which job on which POD runs against which
branch.

Move project specific verify job to its own file to ease the stream
handling.

Enable automatic runs on Intel POD5.

Change-Id: Ic7c1137cb2d25604fbef6d31b5db5215e9d92304
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
jjb/joid/joid-ci-jobs.yml [moved from jjb/joid/joid.yml with 71% similarity]
jjb/joid/joid-project-jobs.yml [new file with mode: 0644]

similarity index 71%
rename from jjb/joid/joid.yml
rename to jjb/joid/joid-ci-jobs.yml
index 90b3df6..af81aac 100644 (file)
@@ -7,8 +7,49 @@
 
     project: '{name}'
 
-    installer: 'joid'
-
+    installer: '{name}'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+    master: &master
+        stream: master
+        branch: '{stream}'
+        gs-pathname: ''
+    brahmaputra: &brahmaputra
+        stream: brahmaputra
+        branch: 'stable/{stream}'
+        gs-pathname: '/{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+#      Current Mapping
+#--------------------------------
+#  everything runs against master branch
+#--------------------------------
+    pod:
+        - intel-pod5:
+            <<: *master
+        - orange-pod2:
+            <<: *master
+#--------------------------------
+#     Milestone E Mapping
+#     !!!DO NOT ENABLE!!!
+#--------------------------------
+#        brahmaputra
+#--------------------------------
+#        - intel-pod5:
+#            <<: *brahmaputra
+#--------------------------------
+#           master
+#--------------------------------
+#        - intel-pod6:
+#            <<: *master
+#        - orange-pod2:
+#            <<: *master
+#--------------------------------
+
+# please check the triggers before enabling any of the controllers!!!
     sdn-controller:
         - 'nosdn':
             disabled: true
         - 'opencontrail':
             disabled: true
 
-    pod:
-        - 'intel-pod5'
-        - 'orange-pod2'
-
-# only master branch is enabled at the moment to keep no of jobs sane
-    stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-#        - brahmaputra:
-#            branch: 'stable/{stream}'
-#            gs-pathname: '{stream}'
-
     jobs:
         - 'joid-{sdn-controller}-{pod}-daily-{stream}'
         - 'joid-deploy-{pod}-daily-{stream}'
 
     concurrent: false
 
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Feature: $OPNFV_FEATURE'
+
+    triggers:
+        - 'joid-{pod}-trigger'
+
     parameters:
         - project-parameter:
             project: '{project}'
 
     wrappers:
         - build-name:
-            name: '$BUILD_NUMBER: $INSTALLER_TYPE $SDN_CONTROLLER'
+            name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Feature: $OPNFV_FEATURE'
 
     parameters:
         - project-parameter:
             ./clean.sh
         - shell:
             !include-raw ./joid-deploy.sh
+########################
+# trigger macros
+########################
+- trigger:
+    name: 'joid-intel-pod5-trigger'
+    triggers:
+        - timed: '0 3 * * *'
+# timer trigger is commented out since we do not know if the automatic runs should
+# be enabled on orange-pod2
+- trigger:
+    name: 'joid-orange-pod2-trigger'
+    triggers:
+        - timed: '#0 3 * * *'
diff --git a/jjb/joid/joid-project-jobs.yml b/jjb/joid/joid-project-jobs.yml
new file mode 100644 (file)
index 0000000..987b3f9
--- /dev/null
@@ -0,0 +1,62 @@
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+    name: joid-project-jobs
+
+    project: 'joid'
+
+    jobs:
+        - 'joid-verify-{stream}'
+
+# only master branch is enabled at the moment to keep no of jobs sane
+    stream:
+        - master:
+            branch: '{stream}'
+            gs-pathname: ''
+#        - brahmaputra:
+#            branch: 'stable/{stream}'
+#            gs-pathname: '/{stream}'
+
+- job-template:
+    name: 'joid-verify-{stream}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: '{branch}'
+        - 'opnfv-build-defaults'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    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: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'docs/**|.gitignore'
+
+    builders:
+        - shell: |
+            echo "Nothing to verify!"