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/)