You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2014/08/22 14:33:35 UTC

svn commit: r1619779 - in /incubator/slider/site/trunk/content: developing/releasing.md release_notes/release-0.50.0.md release_notes/release-0.50.2.md

Author: stevel
Date: Fri Aug 22 12:33:35 2014
New Revision: 1619779

URL: http://svn.apache.org/r1619779
Log:
SLIDER-349 release 0.50.2 with update of release notes to cover hotfixes; more env var driven automation of ASF release

Added:
    incubator/slider/site/trunk/content/release_notes/release-0.50.2.md
      - copied, changed from r1619049, incubator/slider/site/trunk/content/release_notes/release-0.50.0.md
Removed:
    incubator/slider/site/trunk/content/release_notes/release-0.50.0.md
Modified:
    incubator/slider/site/trunk/content/developing/releasing.md

Modified: incubator/slider/site/trunk/content/developing/releasing.md
URL: http://svn.apache.org/viewvc/incubator/slider/site/trunk/content/developing/releasing.md?rev=1619779&r1=1619778&r2=1619779&view=diff
==============================================================================
--- incubator/slider/site/trunk/content/developing/releasing.md (original)
+++ incubator/slider/site/trunk/content/developing/releasing.md Fri Aug 22 12:33:35 2014
@@ -26,9 +26,22 @@ The process has two phases.
 * [Phase I](#phase1): Merge `develop` branch with `master` so that you can release from `master`
 * [Phase II](#phase2): Perform Apache release from `master`
 
+
+### Tooling
+
+As well as everything needed to build slider, there are some extra requirements
+for releasing:
+
+1. Shell: (Currently: Bash)
+1. [git flow](http://danielkummer.github.io/git-flow-cheatsheet/)
+1. OS/X and windows: [Atlassian SourceTree](http://www.sourcetreeapp.com/).
+This can perform the git flow operations, as well as show the state of your
+git graph.
+
  
 ### Before you begin
 
+
 *1.* Check out the latest version of the develop branch,
 run the tests. This should be done on a checked out
 version of the code that is not the one you are developing on
@@ -160,9 +173,9 @@ Switch back to `develop` and update its 
 the release number
 
 
-    export SLIDER_RELEASE=0.51.0-incubating-SNAPSHOT
-    mvn versions:set -DnewVersion=$SLIDER_RELEASE
-    git commit -a -m "$SLIDER_RELEASE_JIRA updating development POMs to $SLIDER_RELEASE"
+    export SLIDER_DEV=0.51.0-incubating-SNAPSHOT
+    mvn versions:set -DnewVersion=$SLIDER_DEV
+    git commit -a -m "$SLIDER_RELEASE_JIRA updating development POMs to $SLIDER_DEV"
 
 **Step #12:** Push the release and develop branches to github 
 
@@ -172,7 +185,7 @@ the release number
  you can check this with `git remote -v`
 
 
-The `git-flow` program automatically pushes up the `release/slider-X.Y` branch,
+The `git-flow` program automatically pushes up the `release/slider-$SLIDER_RELEASE` branch,
 before deleting it locally.
 
 If you are planning on any release work of more than a single test run,
@@ -202,8 +215,8 @@ Get a clean enlistment.
 
     mkdir release
     cd release
-    git clone https://git-wip-us.apache.org/repos/asf/incubator-slider.git slider-x.y.z
-    cd slider-x.y.z
+    git clone https://git-wip-us.apache.org/repos/asf/incubator-slider.git slider-$SLIDER_RELEASE
+    cd slider-$SLIDER_RELEASE
     
 **Step 2**
 
@@ -222,7 +235,7 @@ Ensure the rat check is clean.
 
 Tag for the release. Start with RC0 and move to RC1, RC2 if you need to restart the release process for this version.
 
-    git tag -a release-x.y.z-rc0 -m 'Slider x.y.z-incubating-RC0'
+    git tag -a release-$SLIDER_RELEASE-rc0 -m 'Slider $SLIDER_RELEASE-RC0'
     git push --tags origin
    
 **Step 5**
@@ -231,64 +244,98 @@ Create the release source tarball.
 
     mvn clean install -DskipTests -Papache-release
     
-You should find a *.tar.gz at target folder (e.g. ./target/apache-slider-x.y.z-source-release.tar.gz)
+You should find a *.tar.gz at target folder (e.g. ./target/apache-slider-$SLIDER_RELEASE-source-release.tar.gz and .zip)
 Rename it with *incubator* in the name.
 
     cd target
-    mv apache-slider-x.y.z-source-release.tar.gz apache-slider-x.y.z-incubating-source-release.tar.gz
+    rm rat.txt
+    rm -rf archive-tmp
+
+    #    mv apache-slider-$SLIDER_RELEASE-source-release.tar.gz apache-slider-$SLIDER_RELEASE-source-release.tar.gz
     
 **Step 6**
 
 Sign the tarball
 
-    gpg2  --armor --output apache-slider-{release number}-incubating-source-release.tar.gz.asc --detach-sig apache-slider-{release number}-incubating-source-release.tar.gz
+    export ASF_USER=stevel
+
+    gpg2  --armor  --default-key $ASF_USER@apache.org -v --output apache-slider-$SLIDER_RELEASE-source-release.tar.gz.asc --detach-sig apache-slider-$SLIDER_RELEASE-source-release.tar.gz
+    gpg2  --armor  --default-key $ASF_USER@apache.org -v  --output apache-slider-$SLIDER_RELEASE-source-release.zip.asc --detach-sig apache-slider-$SLIDER_RELEASE-source-release.zip
     
 **Step 7**
 
 Generate MD5 checksums. *md5sum* and *sha1sum* or *gpg* are also both capable of creating checksum files.
 
-    openssl md5 apache-slider-{release number}-incubating-source-release.tar.gz > apache-slider-{release number}-incubating-source-release.tar.gz.md5
-    openssl sha1 apache-slider-{release number}-incubating-source-release.tar.gz > apache-slider-{release number}-incubating-source-release.tar.gz.sha
-    
+    openssl md5 apache-slider-$SLIDER_RELEASE-source-release.tar.gz > apache-slider-$SLIDER_RELEASE-source-release.tar.gz.md5
+    openssl sha1 apache-slider-$SLIDER_RELEASE-source-release.tar.gz > apache-slider-$SLIDER_RELEASE-source-release.tar.gz.sha
+    openssl md5 apache-slider-$SLIDER_RELEASE-source-release.zip > apache-slider-$SLIDER_RELEASE-source-release.zip.md5
+    openssl sha1 apache-slider-$SLIDER_RELEASE-source-release.zip > apache-slider-$SLIDER_RELEASE-source-release.zip.sha
+ 
+or
+ 
+     md5sum apache-slider-$SLIDER_RELEASE-source-release.tar.gz > apache-slider-$SLIDER_RELEASE-source-release.tar.gz.md5
+     sha1sum apache-slider-$SLIDER_RELEASE-source-release.tar.gz > apache-slider-$SLIDER_RELEASE-source-release.tar.gz.sha
+     sha1sum apache-slider-$SLIDER_RELEASE-source-release.zip > apache-slider-$SLIDER_RELEASE-source-release.zip.sha
+     md5sum apache-slider-$SLIDER_RELEASE-source-release.zip > apache-slider-$SLIDER_RELEASE-source-release.zip.md5
+  
+ 
 **Step 8**
 
 Upload the artifacts to your apache home:
     
-    The artifacts then need to be copied over to ~/public_html/slider-release-x.y.z-rc0
+The artifacts then need to be copied over to ~/public_html/slider-release-$SLIDER_RELEASE-rc0
   
     cd ..
-    mv target slider-release-x.y.z-incubating-rc0
+    mv target slider-release-$SLIDER_RELEASE-rc0
     
-    scp -r slider-release-x.y.z-incubating-rc0 people.apache.org:public_html
+    scp -r slider-release-$SLIDER_RELEASE-rc0 people.apache.org:public_html
   
 
 **Step 9**
 
+Tell JIRA there's a new release. You must be registered as an admin for the
+Slider project on JIRA.
+
+Go to the [Slider Versions page](https://issues.apache.org/jira/plugins/servlet/project-config/SLIDER/versions)
+
+Release the version you've done, carrying forward issues that haven't been done
+yet.
+
+**Step 10**
+
 Call for a release VOTE to the dev mailing list (dev@slider.incubator.apache.org).
 
+To build the URLs, echo them then verify in your browser that they are present
+
+    echo "artifacts at http://people.apache.org/~$ASF_USER/slider-release-$SLIDER_RELEASE-rc0"
+
+    echo "source at https://git-wip-us.apache.org/repos/asf?p=incubator-slider.git;a=shortlog;h=refs/tags/release-$SLIDER_RELEASE-rc0"
+
+    echo "PGP keys at http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=$ASF_USER@apache.org"
+
 Sample:
 
 
-    Title: [VOTE] Apache Slider Incubating Release x.y.z RC0
+    Title: [VOTE] Apache Slider Incubating Release $SLIDER_RELEASE RC0
 
     Hello folks,
 
-    This is a call for a vote on Apache Slider x.y.z incubating release. Thanks to everyone who have contributed to this         release.
+    This is a call for a vote on Apache Slider $SLIDER_RELEASE release. 
+    Thanks to everyone who have contributed to this release.
 
     Git source tag:
-    https://git-wip-us.apache.org/repos/asf?p=incubator-slider.git;a=shortlog;h=refs/tags/release-x.y.z-rc0
+    https://git-wip-us.apache.org/repos/asf?p=incubator-slider.git;a=shortlog;h=refs/tags/release-$SLIDER_RELEASE-rc0
 
     Staging site:
-    http://people.apache.org/~<YOUR ASF ID>/slider-release-x.y.z-rc0/
+    http://people.apache.org/~$ASF_USER/slider-release-$SLIDER_RELEASE-rc0"
 
-    PGP release keys (signed using <YOUR KEY>)
-    http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=<YOUR KEY>
+    PGP release keys (signed using $ASF_USER)
+    http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=$ASF_USER@apache.org
 
-    One can look into the issues fixed in this release at:
+    The issues fixed in this release are listed at at:
     https://issues.apache.org/jira/browse/SLIDER/fixforversion/<FIX VERSION OF THIS RELEASE>
 
     Note that this is a source only release and we are voting on the source.
-    (One .tar file is a text file used for -ve testing)
 
     Build instructions at: http://slider.incubator.apache.org/developing/building.html 
 
@@ -301,15 +348,15 @@ Sample:
 
 * CHECK ALL THE URLS FIRST *
 
-**Step 10**
+**Step 11**
 
-After the VOTE passes, call for VOTE from IPMC. Include the VOTE and RESULT thread from the dev alias.
-After VOTE passes with the IPMC send a RESULT mail.
+If the VOTE passes, call for VOTE from IPMC. Include the VOTE and RESULT thread from the dev alias.
+If that VOTE passes with the IPMC send a RESULT mail.
 
 Sample:
 
 
-    Title: [RESULT][VOTE] Apache Slider x.y.z-incubating RC0
+    Title: [RESULT][VOTE] Apache Slider $SLIDER_RELEASE RC0
    
     Thanks for the votes.
     The VOTE passes with 5, +1 votes from IPMC.
@@ -321,15 +368,17 @@ Sample:
     List all non-IPMC votes.
 
 
-**Step 11**
+**Step 12**
 
 Verify your PGP key is provided to Apache. 
 
 Apache verifies that distributions are correctly signed.
 Login to https://id.apache.org and verify the fingerprint of PGP key used to sign above is provided. (gpg --fingerprint)
-Upload your PGP public key only to /home/<user>/.pgpkey
+Upload your PGP public key only to /home/$ASF_USER/.pgpkey
 
-**Step 12**
+    scp public-key.asc people.apache.org:.pgpkey
+
+**Step 13**
 
 Publish the release as below:
 
@@ -337,22 +386,22 @@ Publish the release as below:
  
     cd slider
     Edit the KEYS file as needed. The instructions are at the top.
-    mkdir x.y.z-incubating x.y.z-incubating/src
-    cd x.y.z-incubating/src
-    scp ~/public_html/slider-release-x.y.z-rc0/* .
+    mkdir $SLIDER_RELEASE $SLIDER_RELEASE/src
+    cd $SLIDER_RELEASE/src
+    scp ~/public_html/$SLIDER_RELEASE-rc0/* .
     cd ..
-    svn add x.y.z-incubating
-    svn commit -m "Committing Release x.y.z"
+    svn add $SLIDER_RELEASE
+    svn commit -m "SLIDER_RELEASE_JIRA Committing Release $SLIDER_RELEASE"
 
-**Step 13**
+**Step 14**
 
 Create the release tag:
 
     On branch master
-    git tag -a release-x.y.z -m 'Slider x.y.z-incubating'
+    git tag -a $SLIDER_RELEASE -m 'Slider $SLIDER_RELEASE'
     git push --tags origin
     
-**Step 14**
+**Step 15**
 
 Update the Slider website as needed. Most of the documents would have been updated by now to reflect the released version. *The remaining changes should really be modifying the references to the latest release to the new version.*
 
@@ -360,11 +409,11 @@ The download details for the latest rele
 
 Verify the download links at [Slider Page](http://slider.incubator.apache.org).
 
-**Step 15**
+**Step 16**
 
 Send an anouncement:
 
-The bits published in **Step 12** may take up to 24 hours to replicate to the mirrors.
+The bits published in **Step 13** may take up to 24 hours to replicate to the mirrors.
 
 Send an anouncement@apache.org to the dev and user aliases after the bits have replicated.
 
@@ -383,3 +432,53 @@ Sample:
     Regards,
     The Slider Team
    
+
+## Hotfixing a release
+
+If you need to change a release —such as to issue a new RC, you must
+create a hotfix release which updates the `master/` and `develop/` branches.
+you can then create a new release off the last commit off the hotfix branch
+(the one which is then merged into both branches).
+
+1. Create a JIRA for the hotfix, estimate as much time as the main release
+and any time needed to actually fix the code.
+
+1. set the release env var to it.
+
+        export SLIDER_RELEASE_JIRA=SLIDER-349
+      
+1. Create the hotfix branch with the JIRA version
+1. Fix things.
+1. Rerun all the tests.
+1. Check in the fixes
+1. Note the commit number of the final commit
+1. With git flow, finish the hotfix
+1. start a git flow release using the specific commit of the hotfix branch,
+rather than `HEAD` of the `develop` branch.
+1. Note the current version of the develop artifacts; set `$SLIDER_DEV` to it.
+The POMs will be returned to this after the release process.
+1. Create a new release version (e.g. slider-0.50.2). This can before that
+of the current develop branch:
+
+        export SLIDER_RELEASE=0.50.2-incubating
+    
+1. Repeat the release process from step 4 to step 10.
+
+When you get to the end of release phase, the end of release process will fail
+due to conflict between POM versions. 
+
+1. Resolve the conflict by accepting the new updates: the maven version will
+be set to the `$SLIDER_RELEASE` value, even though it is now older than
+the actual development version.
+
+1. verify that `$SLIDER_DEV` is set to the version you want to return the
+`develop/` branch to:
+
+        echo $SLIDER_DEV
+
+1. reset the versions
+
+    mvn versions:set -DnewVersion=$SLIDER_DEV
+    git commit -a -m "$SLIDER_RELEASE_JIRA reverting development POMs to $SLIDER_DEV"
+    
+ 1. Continue the release process from step 12.
\ No newline at end of file

Copied: incubator/slider/site/trunk/content/release_notes/release-0.50.2.md (from r1619049, incubator/slider/site/trunk/content/release_notes/release-0.50.0.md)
URL: http://svn.apache.org/viewvc/incubator/slider/site/trunk/content/release_notes/release-0.50.2.md?p2=incubator/slider/site/trunk/content/release_notes/release-0.50.2.md&p1=incubator/slider/site/trunk/content/release_notes/release-0.50.0.md&r1=1619049&r2=1619779&rev=1619779&view=diff
==============================================================================
--- incubator/slider/site/trunk/content/release_notes/release-0.50.0.md (original)
+++ incubator/slider/site/trunk/content/release_notes/release-0.50.2.md Fri Aug 22 12:33:35 2014
@@ -15,12 +15,11 @@
    limitations under the License.
 -->
   
-# Apache Slider Release 0.50.0 (incubating)
+# Apache Slider Release 0.50.2 (incubating)
 
 August 2014
 
-This release is built against Apache Hadoop 2.5.0
-Download: []()
+This release is built against Apache Hadoop 2.4.1, HBase 0.98.4 and Accumulo 1.6.0
 
 
 ## Key changes
@@ -61,5 +60,5 @@ new name and set the value in the global
 
 ## Other changes
 
-The full list of completed issues is [visible in the Apache JIRA](https://issues.apache.org/jira/browse/SLIDER-325?jql=project%20%3D%20SLIDER%20AND%20fixVersion%20%3D%20%22Slider%200.50%22%20AND%20status%20%3D%20Resolved)
+The full list of completed issues is [visible in the Apache JIRA](https://issues.apache.org/jira/browse/SLIDER/fixforversion/12326949/)