Move Releng Jobs under 'releng' folder
[releng.git] / jjb / releng / releng-ci-jobs.yml
diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml
new file mode 100644 (file)
index 0000000..60551f5
--- /dev/null
@@ -0,0 +1,124 @@
+- project:
+    name: builder-jobs
+    jobs:
+        - 'builder-verify-jjb'
+        - 'builder-merge'
+        - 'artifacts-api'
+
+    project: 'releng'
+
+- job-template:
+    name: builder-verify-jjb
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+    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: 'releng'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+                file-paths:
+                    - compare-type: ANT
+                      pattern: jjb/**
+                    - compare-type: ANT
+                      pattern: jjb-templates/**
+                    - compare-type: ANT
+                      pattern: utils/**
+
+
+    builders:
+        - shell:
+            !include-raw: verify-releng.sh
+
+    publishers:
+        - archive-artifacts:
+            artifacts: 'job_output/*'
+
+- job-template:
+    name: 'builder-merge'
+
+    # builder-merge job to run JJB update
+    #
+    # This job's purpose is to update all the JJB
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'releng'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+                file-paths:
+                    - compare-type: ANT
+                      pattern: jjb/**
+                    - compare-type: ANT
+                      pattern: utils/**
+
+    builders:
+        - shell: |
+                source /opt/virtualenv/jenkins-job-builder/bin/activate
+                cd /opt/jenkins-ci/releng
+                git pull
+                jenkins-jobs update --delete-old jjb/
+
+- job-template:
+    name: 'artifacts-api'
+
+    # Generate and upload the JSON file to used for artifacts site
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    triggers:
+        - timed: '@hourly'
+
+    builders:
+        - build-and-upload-artifacts-json-api