Add job to generate release notes 80/55880/5
authorAnil Belur <abelur@linuxfoundation.org>
Sun, 23 Apr 2017 07:08:43 +0000 (17:08 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Wed, 26 Apr 2017 12:44:14 +0000 (22:44 +1000)
- autorelease-generate-release-notes generates the release notes for
  every autorelease ${STREAM}
- trigger generate release notes job at the end of every autorelease
  build

Change-Id: Ie2ed6a0dec7c32e1505e429e16cb6bac34125373
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-projects.yaml
jjb/autorelease/autorelease-templates.yaml

index 90cde777aac25465f1f095cb40cbefcd18e7e25e..67652eab39080ec48a5ecad38272d00881685931 100644 (file)
       - shell: |
           ./scripts/fix-relativepaths.sh
 
+- builder:
+    name: autorelease-generate-release-notes
+    builders:
+      - shell: |
+          cd $WORKSPACE/scripts/release_notes_management
+          java -jar target/autonotes.jar
+
 - publisher:
     # include-raw-autorelease-notify-build-failure.sh searches console log for
     # failures and emails the status to the release mailing list.
index a53c459456c2f48c441a4d90511390c8978d454e..09f9723ee117a560dfe4a89b3df21af6852b1d4a 100644 (file)
@@ -3,6 +3,7 @@
     name: autorelease-projects
     jobs:
       - 'autorelease-release-{stream}'
+      - 'autorelease-generate-release-notes-{stream}'
 
     stream:
       - nitrogen:
index 8562298855a423375a561318a7027856d7c53765..8ef0deffa26c49d4078f79b864f3c5462f88e78a 100644 (file)
           #      not deploying to Nexus
           artifacts: 'dependencies.log, **/*.zip, /var/log/sa/*'
       - trigger-parameterized-builds:
+          - project: 'autorelease-generate-release-notes-{stream}'
+            condition: UNSTABLE_OR_BETTER
+            property-file: variables.jenkins-trigger
+            fail-on-missing: true
           - 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-generate-release-notes-{stream}'
+
+    project-type: freestyle
+    node: centos7-java-builder-2c-8g
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - git:
+          credentials-id: 'opendaylight-jenkins-ssh'
+          url: '$GIT_BASE'
+          refspec: '$GERRIT_REFSPEC'
+          branches:
+            - '$GERRIT_BRANCH'
+          choosing-strategy: 'gerrit'
+          skip-tag: true
+          submodule:
+            recursive: true
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '30'
+
+    triggers:
+      - timed: '0 0 * * 0'
+
+    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
+      - maven-target:
+          maven-version: 'mvn33'
+          pom: '$WORKSPACE/scripts/release_notes_management/pom.xml'
+          goals: |
+              clean package
+              -Dcheckstyle.skip=true
+              -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
+              {opendaylight-infra-mvn-opts}
+          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-generate-release-notes
+
+    publishers:
+      - opendaylight-infra-sysstats
+      - archive:
+          artifacts: 'scripts/release_notes_management/projects/release-notes.rst, /var/log/sa/*'
+      - opendaylight-infra-shiplogs:
+          maven-version: 'mvn33'