refactor email recipients to parameter with default value
[releng/builder.git] / jjb / autorelease / autorelease-templates.yaml
index 5f2da254e701aa2f4ffcd68efd9660fc91de9e3a..2e62a848da9e8752aebda744da87ebec52712526 100644 (file)
@@ -3,8 +3,8 @@
 - job-template:
     name: 'autorelease-release-{stream}'
 
-    project-type: maven
-    node: dynamic_autorelease
+    project-type: freestyle
+    node: centos7-autorelease-4c-16g
     jdk: '{jdk}'
 
     logrotate:
         artifactDaysToKeep: '14'
 
     parameters:
-        - project-parameter:
+        - maven-exec:
+            maven-version: 'mvn33'
+        - opendaylight-infra-parameters:
             project: '{project}'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - autorelease-release-tag:
             release-tag: '{next-release-tag}'
         - autorelease-release-branch:
@@ -21,7 +26,7 @@
 
     scm:
         - git:
-            credentials-id: '{ssh-credentials}'
+            credentials-id: 'opendaylight-jenkins-ssh'
             url: '$GIT_BASE'
             refspec: ''
             branches:
                 timeout: 60
 
     wrappers:
-        - autorelease-build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
+        - opendaylight-infra-wrappers:
+            build-timeout: '1440'
 
     triggers:
         - timed: 'H 0 * * *'
 
-    prebuilders:
+    builders:
+        # force jenkins install of maven version before any shell scripts use it
+        - maven-target:
+            maven-version: 'mvn33'
+            goals: '-version'
+            settings: 'autorelease-settings'
+            settings-type: cfp
+            global-settings: 'odl-global-settings'
+            global-settings-type: cfp
         - wipe-local-maven-repo
         - jacoco-nojava-workaround
+        - shell: "./scripts/list-project-dependencies.sh"
         - autorelease-cfp:
             autorelease-settings: 'autorelease-settings'
             odl-global-settings: 'odl-global-settings'
         - autorelease-generate-taglist
         - autorelease-distribute-taglist
         - autorelease-generate-release-patches
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
-        maven-opts: '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-        settings: 'autorelease-settings'
-        settings-type: cfp
-        global-settings: 'odl-global-settings'
-        global-settings-type: cfp
-        automatic-archiving: true
-        post-step-run-condition: UNSTABLE
-
-    postbuilders:
+        - maven-target:
+              maven-version: 'mvn33'
+              pom: 'pom.xml'
+              goals: 'clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
+              java-opts:
+                - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+              settings: 'autorelease-settings'
+              settings-type: cfp
+              global-settings: 'odl-global-settings'
+              global-settings-type: cfp
         - autorelease-maven-deploy
-        - shell: "./scripts/list-project-dependencies.sh"
         - autorelease-get-integration-test-variables
         - autorelease-maven-sources:
-            maven-version: '{mvn33}'
+            maven-version: 'mvn33'
             settings: 'autorelease-settings'
             global-settings: 'odl-global-settings'
         - autorelease-maven-sources-post-process
         - autorelease-sys-stats
+        - shell: |
+            mkdir -p archives/
+            cp *.log *.prop $_
 
     publishers:
-    - archive-artifacts:
-        artifacts: '*.prop,*.log,patches/*.bundle,patches/*.patch,patches/*.log'
-    - email-notification:
-        email-prefix: '[autorelease]'
-    - trigger-parameterized-builds:
-        - project: 'integration-distribution-test-{integration-test}'
-          condition: UNSTABLE_OR_BETTER
-          property-file: variables.prop
-          fail-on-missing: true
+        - email-notification:
+            email-recipients: '{email-recipients}'
+            email-prefix: '[autorelease]'
+        - trigger-parameterized-builds:
+            - project: 'integration-distribution-test-{integration-test}'
+              condition: UNSTABLE_OR_BETTER
+              property-file: variables.jenkins-trigger
+              fail-on-missing: true
+        - opendaylight-infra-shiplogs:
+            maven-version: 'mvn33'
 
 - job-template:
     name: 'autorelease-project-report-{stream}'
 
     project-type: freestyle
-    node: dynamic_verify
+    node: centos7-java-builder-2c-8g
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
-        - project-parameter:
+        - opendaylight-infra-parameters:
             project: '{project}'
+            branch: '{branch}'
+            refspec: 'refs/heads/{branch}'
+            artifacts: '{archive-artifacts}'
         - string:
             name: REPORT_DIR
             default: '$WORKSPACE/project-reports'
 
     scm:
         - git:
-            credentials-id: '{ssh-credentials}'
+            credentials-id: 'opendaylight-jenkins-ssh'
             url: '$GIT_BASE'
             refspec: ''
             branches:
                 recursive: true
 
     wrappers:
-        - timeout:
-            type: absolute
-            timeout: 30
-            fail: true
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
+        - opendaylight-infra-wrappers:
+            build-timeout: '30'
 
     triggers:
         - timed: '0 0 * * 0'
         - autorelease-sys-stats
 
     publishers:
-    - archive-artifacts:
-        artifacts: '*.log,project-reports/*.log'
-    - email-ext:
-        attachments: 'project-reports/*.log'
-        recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
-        reply-to: dev@lists.opendaylight.org
-        content-type: default
-        subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
-        body: |
-            This is a project report generated on $DATE listing the commit
-            history of ODL projects for the past week. See attached
-            git-report.log
-
-            Archive also available on Jenkins at $BUILD_URL
-        always: true
-
-###
-### Maven Sites
-###
-
-- job-template:
-    name: 'autorelease-site-publish-{stream}'
-    node: dynamic_merge
-    concurrent: false
-    jdk: 'openjdk8'
-
-    # This job's purpose is to publish maven site
-
-    project-type: maven
-
-    logrotate:
-        daysToKeep: 7
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-    - project-parameter:
-        project: '{project}'
-    - gerrit-parameters:
-        project: '{project}'
-        branch: '{branch}'
-        refspec: 'refs/heads/{branch}'
-
-    scm:
-    - gerrit-trigger-scm:
-        credentials-id: '{ssh-credentials}'
-        refspec: ''
-        choosing-strategy: 'default'
-
-    wrappers:
-    - ssh-agent-credentials:
-        users:
-        - '{ssh-credentials}'
-
-    triggers:
-    - autorelease-trigger-patch-site-merged:
-        name: '{project}'
-        branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'site.xml'
-        goals: 'site:site site:deploy -Dstream={stream}'
-        maven-opts: '-Xmx1024m'
-        settings: 'autorelease-settings'
-        settings-type: cfp
-        global-settings: 'odl-global-settings'
-        global-settings-type: cfp
-
-    publishers:
-    - email-notification:
-        email-prefix: '[releng]'
-
-- job-template:
-    name: 'autorelease-site-verify-{stream}'
-    node: dynamic_verify
-    concurrent: true
-    jdk: 'openjdk8'
-
-    # This job's purpose is to verify maven site configuration
-
-    project-type: maven
-
-    logrotate:
-        daysToKeep: 7
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-    - project-parameter:
-        project: '{project}'
-    - gerrit-parameters:
-        project: '{project}'
-        branch: '{branch}'
-        refspec: 'refs/heads/{branch}'
-
-    scm:
-    - gerrit-trigger-scm:
-        credentials-id: '{ssh-credentials}'
-        refspec: '$GERRIT_REFSPEC'
-        choosing-strategy: 'gerrit'
-
-    wrappers:
-    - ssh-agent-credentials:
-        users:
-        - '{ssh-credentials}'
-
-    triggers:
-    - autorelease-trigger-patch-site-submitted:
-        name: '{project}'
-        branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'site.xml'
-        goals: 'site:site -Dstream={stream}'
-        maven-opts: '-Xmx1024m'
-        settings: 'autorelease-settings'
-        settings-type: cfp
-        global-settings: 'odl-global-settings'
-        global-settings-type: cfp
-
-    publishers:
-        - email-notification:
-            email-prefix: '[releng]'
+        - email-ext:
+            attachments: 'project-reports/*.log'
+            recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
+            reply-to: dev@lists.opendaylight.org
+            content-type: default
+            subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
+            body: |
+                This is a project report generated on $DATE listing the commit
+                history of ODL projects for the past week. See attached
+                git-report.log
+                Archive also available on Jenkins at $BUILD_URL
+            always: true
+        - opendaylight-infra-shiplogs:
+            maven-version: 'mvn33'