refactor email recipients to parameter with default value
[releng/builder.git] / jjb / releng-jobs.yaml
index 89a9ebc3a6dd9d625ce6788cd403754e52e8d476..0c18f214b51f72cbf10fd0f645c4128e1a9faa5a 100644 (file)
@@ -6,8 +6,43 @@
         - 'builder-merge'
         - 'builder-weekly'
         - 'builder-check-poms'
+        - 'builder-verify-packer-{platforms}-{templates}'
+        - 'builder-merge-packer-{platforms}-{templates}'
+
+    platforms:
+        - centos
+        - ubuntu-14.04
+
+    templates:
+        - devstack
+        - docker
+        - gbp
+        - java-builder
+        - mininet
+        - mininet-ovs-2.3
+        - mininet-ovs-2.5
+        - robot
+
+    exclude:
+        - platforms: centos
+          templates: gbp
+        - platforms: centos
+          templates: mininet
+        - platforms: centos
+          templates: mininet-ovs-2.3
+        - platforms: centos
+          templates: mininet-ovs-2.5
+        - platforms: ubuntu-14.04
+          templates: java-builder
+        - platforms: centos
+          templates: gbp
+        - platforms: ubuntu-14.04
+          templates: robot
 
+    project-type: freestyle
+    archive-artifacts: '**/*.log'
     project: 'releng/builder'
+    build-timeout: '60'
 
 - job-template:
     name: builder-verify-jjb
@@ -16,7 +51,7 @@
     project-type: freestyle
 
     logrotate:
-        daysToKeep: 7
+        daysToKeep: 14
 
     parameters:
         - opendaylight-infra-parameters:
@@ -39,9 +74,9 @@
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
                       pattern: jjb-templates/**
 
     builders:
-        - opendaylight-infra-pre-builders
         - shell: |
             pip freeze
             jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/
             gzip archives/job_output/*
+
         - releng-check-unicode
 
     publishers:
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[releng]'
         - opendaylight-infra-shiplogs:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
 
 - job-template:
     name: builder-verify-python
     project-type: freestyle
 
     logrotate:
-        daysToKeep: 7
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+        daysToKeep: 14
 
     parameters:
         - opendaylight-infra-parameters:
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
 
 
     builders:
-        - opendaylight-infra-pre-builders
         - shell: |
             virtualenv $WORKSPACE/venv
             source $WORKSPACE/venv/bin/activate
 
     publishers:
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[releng]'
         - opendaylight-infra-shiplogs:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
 
 - job-template:
     name: 'builder-merge'
     project-type: freestyle
 
     logrotate:
-        daysToKeep: 7
-        numToKeep: 3
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+        daysToKeep: 14
 
     parameters:
         - opendaylight-infra-parameters:
                       pattern: jjb-templates/**
 
     builders:
-        - opendaylight-infra-pre-builders
         - shell: |
             pip freeze
             jenkins-jobs --version
 
     publishers:
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[releng]'
         - opendaylight-infra-shiplogs:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
 
 - job-template:
     name: 'builder-weekly'
     project-type: freestyle
 
     logrotate:
-        daysToKeep: 7
-        numToKeep: 3
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+        daysToKeep: 14
 
     parameters:
         - opendaylight-infra-parameters:
         - timed: 'H H * * 0'
 
     builders:
-        - opendaylight-infra-pre-builders
         - shell: |
             jenkins-jobs --flush-cache update --recursive jjb/
 
     publishers:
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[releng]'
         - opendaylight-infra-shiplogs:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
 
 - job-template:
     name: builder-check-poms
     project-type: freestyle
 
     logrotate:
-        daysToKeep: 1
-        numToKeep: 1
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+        daysToKeep: 14
 
     parameters:
         - opendaylight-infra-parameters:
         - timed: 'H H * * 1'
 
     builders:
-        - opendaylight-infra-pre-builders
         - shell:
             !include-raw-escape:
                 - include-raw-check-poms.sh
 
     publishers:
         - email-notification:
+            email-recipients: '{email-recipients}'
             email-prefix: '[releng]'
         - opendaylight-infra-shiplogs:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
+
+- job-template:
+    name: 'builder-verify-packer-{platforms}-{templates}'
+    project-type: freestyle
+    node: centos7-java-builder-2c-8g
+    concurrent: true
+
+    logrotate:
+        daysToKeep: 14
+
+    parameters:
+        - opendaylight-infra-parameters:
+            project: '{project}'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
+
+    scm:
+        - gerrit-trigger-scm:
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+
+    triggers:
+        - gerrit:
+            server-name: 'OpenDaylight'
+            trigger-on:
+                - patchset-created-event:
+                    exclude-drafts: 'true'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'true'
+                - 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}'
+                file-paths:
+                    - compare-type: ANT
+                      pattern: 'packer/**'
+
+    builders:
+        - packer-validate:
+            platform: '{platforms}'
+            template: '{templates}'
+
+    publishers:
+        - email-notification:
+            email-recipients: '{email-recipients}'
+            email-prefix: '[{project}]'
+        - opendaylight-infra-shiplogs:
+            maven-version: 'mvn33'
+
+- job-template:
+    name: 'builder-merge-packer-{platforms}-{templates}'
+    project-type: freestyle
+    node: centos7-java-builder-2c-8g
+    concurrent: true
+
+    logrotate:
+        daysToKeep: 14
+
+    parameters:
+        - opendaylight-infra-parameters:
+            project: '{project}'
+            branch: 'master'
+            refspec: 'refs/heads/master'
+            artifacts: '{archive-artifacts}'
+
+    scm:
+        - gerrit-trigger-scm:
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - opendaylight-infra-wrappers:
+            build-timeout: '{build-timeout}'
+
+    triggers:
+        - gerrit:
+            server-name: 'OpenDaylight'
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'releng/builder'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+                file-paths:
+                    - compare-type: ANT
+                      pattern: 'packer/**'
+
+    builders:
+        - packer-validate:
+            platform: '{platforms}'
+            template: '{templates}'
+        - packer-build:
+            platform: '{platforms}'
+            template: '{templates}'
+
+    publishers:
+        - email-notification:
+            email-recipients: '{email-recipients}'
+            email-prefix: '[{project}]'
+        - opendaylight-infra-shiplogs:
+            maven-version: 'mvn33'