Add autorelease release job 56/18956/3
authorThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 22 Apr 2015 21:31:43 +0000 (17:31 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Thu, 23 Apr 2015 21:35:04 +0000 (17:35 -0400)
Change-Id: I3e16350dda7b6a9b90edf19b81eac7ccebefd843
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
jjb/autorelease/autorelease-lithium.yaml
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-master.yaml
jjb/autorelease/include-raw-autorelease-release-versions.sh

index 633f5570c40a4664b27d23ad713d0495a7831764..78b64ae7243b694bec1aee743afd3c1a428aa362 100644 (file)
@@ -4,6 +4,7 @@
     name: autorelease-lithium
     jobs:
         - 'autorelease-daily-lithium'
+        - 'autorelease-release-lithium'
 
     branch: 'stable/lithium'
     project: 'releng/autorelease'
@@ -27,6 +28,8 @@
             project: '{project}'
         - autorelease-release-tag:
             release-tag: 'Daily'
+        - autorelease-release-branch:
+            release-branch: '{branch}'
 
     scm:
         - git:
@@ -41,7 +44,7 @@
     wrappers:
         - autorelease-build-timeout
         - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            users: '{ssh-credentials}'
 
     triggers:
         - timed: 'H 0 * * *'
         global-settings: '{odl-global-settings}'
 
     postbuilders:
-        - maven-target:
+        - autorelease-maven-sources:
+            maven-version: '{mvn32}'
+            settings: '{autorelease-settings}'
+            global-settings: '{odl-global-settings}'
+        - jacoco-nojava-workaround
+
+    publishers:
+        - archive-artifacts:
+            artifacts: 'sources.log,patches/*.patch'
+        - email-notification:
+            email-prefix: '[autorelease]'
+
+- job-template:
+    name: 'autorelease-release-lithium'
+
+    project-type: maven
+    node: dynamic_verify
+    jdk: '{jdk}'
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - autorelease-release-tag:
+            release-tag: 'Pre-Lithium'
+        - autorelease-release-branch:
+            release-branch: '{branch}'
+
+    scm:
+        - git:
+            credentials-id: '{ssh-credentials}'
+            url: '$GIT_BASE'
+            refspec: ''
+            branches:
+                - 'origin/{branch}'
+            skip-tag: true
+            recursive-submodules: true
+
+    wrappers:
+        - autorelease-build-timeout
+        - ssh-agent-credentials:
+            users: '{ssh-credentials}'
+
+    prebuilders:
+        - shell:
+            !include-raw include-raw-autorelease-release-versions.sh
+
+    maven:
+        maven-name: '{mvn32}'
+        root-pom: 'pom.xml'
+        goals: 'clean install source:jar javadoc:jar -Pintegrationtests,docs,repoBuild -fae -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+        maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+        settings: '{autorelease-settings}'
+        global-settings: '{odl-global-settings}'
+
+    postbuilders:
+        - autorelease-cfp:
+            autorelease-settings: '{autorelease-settings}'
+            odl-global-settings: '{odl-global-settings}'
+        - autorelease-maven-deploy
+        - autorelease-maven-sources:
             maven-version: '{mvn32}'
-            pom: 'pom.xml'
-            goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            java-opts:
-                - '-Xmx4096m -XX:MaxPermSize=1024m'
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - jacoco-nojava-workaround
index 7e193f7821f12b6cee6657b27a6d8b4b9d79b71d..db61e47b0a85459a1e5a4c21ed57a0e7b7b5cbd8 100644 (file)
@@ -7,6 +7,14 @@
             default: '{release-tag}'
             description: "The Release train tag to use eg. Helium-SR3"
 
+- parameter:
+    name: autorelease-release-branch
+    parameters:
+        - string:
+            name: RELEASE_BRANCH
+            default: '{release-branch}'
+            description: "The Release train branch to base build off eg. stable/helium"
+
 - wrapper:
     name: autorelease-build-timeout
     wrappers:
             type: absolute
             timeout: 360
             fail: true
+
+- builder:
+    name: autorelease-cfp
+    builders:
+        - config-file-provider:
+            files:
+                - file-id: '{autorelease-settings}'
+                  variable: 'AUTORELEASE_SETTINGS'
+                - file-id: '{odl-global-settings}'
+                  variable: 'ODL_GLOBAL_SETTINGS'
+
+- builder:
+    name: autorelease-maven-deploy
+    builders:
+        - shell: |
+            mkdir -p hide/from/pom/files
+            cd hide/from/pom/files
+            mkdir -p m2repo/org/
+            mv /tmp/r/org/opendaylight m2repo/org/
+            mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.2:deploy-staged-repository -DrepositoryDirectory="`pwd`/m2repo" -DnexusUrl=http://nexus.opendaylight.org/ -DstagingProfileId="21a27b7f3bbb8d" -DserverId="opendaylight.weekly" -s $AUTORELEASE_SETTINGS -gs $ODL_GLOBAL_SETTINGS
+
+- builder:
+    name: autorelease-maven-sources
+    builders:
+        - maven-target:
+            maven-version: '{maven-version}'
+            pom: 'pom.xml'
+            goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+            java-opts:
+                - '-Xmx4096m -XX:MaxPermSize=1024m'
+            settings: '{settings}'
+            global-settings: '{global-settings}'
index 2e0c1f6a3d91a47c191194318d211e8152c3977c..f6be412b70651a26d2a66d247a793b3828f4b7f7 100644 (file)
@@ -27,6 +27,8 @@
             project: '{project}'
         - autorelease-release-tag:
             release-tag: 'Daily'
+        - autorelease-release-branch:
+            release-branch: '{branch}'
 
     scm:
         - git:
@@ -41,7 +43,7 @@
     wrappers:
         - autorelease-build-timeout
         - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            users: '{ssh-credentials}'
 
     triggers:
         - timed: 'H 0 * * *'
         global-settings: '{odl-global-settings}'
 
     postbuilders:
-        - maven-target:
+        - autorelease-maven-sources:
             maven-version: '{mvn32}'
-            pom: 'pom.xml'
-            goals: 'dependency:sources -l sources.log -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            java-opts:
-                - '-Xmx4096m -XX:MaxPermSize=1024m'
             settings: '{autorelease-settings}'
             global-settings: '{odl-global-settings}'
         - jacoco-nojava-workaround
index af35ac0dafeac90979dcdbfd67a2f7318777930f..bef3204c0d569090a7b3c687494871d6b72e42c5 100644 (file)
 ##############################################################################
 
 # RELEASE_TAG=Helium-SR2  # Example
+# RELEASE_BRANCH=stable/helium  # Example
 
 ./scripts/version.sh release $RELEASE_TAG
 git submodule foreach "git commit -am \"Release $RELEASE_TAG\" || true"
 git commit -am "Release $RELEASE_TAG"
 
 mkdir patches
-git submodule foreach 'git format-patch --stdout origin/master > ../patches/$name.patch'
+git submodule foreach 'git format-patch --stdout origin/$RELEASE_BRANCH > ../patches/$name.patch'
 
 ./scripts/fix-relativepaths.sh
-