You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mrunit.apache.org by jd...@apache.org on 2012/04/15 05:47:56 UTC
svn commit: r1326248 -
/incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext
Author: jdonofrio
Date: Sun Apr 15 03:47:56 2012
New Revision: 1326248
URL: http://svn.apache.org/viewvc?rev=1326248&view=rev
Log:
MRUNIT-84: Construct an MRUnit website to replace the existing stub
initial cut of how to release
Modified:
incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext
Modified: incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext
URL: http://svn.apache.org/viewvc/incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext?rev=1326248&r1=1326247&r2=1326248&view=diff
==============================================================================
--- incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext (original)
+++ incubator/mrunit/site/trunk/content/mrunit/ppmc/how_to_release.mdtext Sun Apr 15 03:47:56 2012
@@ -1 +1,193 @@
-Title: How to Release
\ No newline at end of file
+Title: How to Release
+
+[TOC]
+
+## First time release managers
+
+ 1. Generate [PGP code signing keys][]
+ 2. Add the PGP code signing keys to the [KEYS file][] as documented on the [Infrastructure site][]
+ 3. Put in a [Infrastructure JIRA][] asking to get added to the incubator unix group on people.apache.org and the mrunit deployer roler for Nexus
+ 4. Copy the modified KEYS file to the release folder /www/www.apache.org/dist/incubator/mrunit on people.apache.org
+ 5. Add the following to your Maven settings.xml file:
+
+ <servers>
+ <server>
+ <id>apache.releases.https</id>
+ <username>APACHE-ID</username>
+ <password>APACHE-PASSWORD</password>
+ </server>
+ </servers>
+
+It is convenient to [setup the ssh keys][] on people.apache.org, otherwise you'll have to enter your login password a number of times.
+
+## Create a release candidate
+
+ 1. Generate release notes
+
+ 1. Update CHANGES.txt with [new release notes from JIRA][], select the version and set the style to Text
+ 2. Commit the updated CHANGES.txt with message: "Preparing for release X.Y.Z-incubating"
+
+ 2. Create a branch (only required for the first release in a series (X.Y.0))
+
+ 1. Create a branch for the X.Y release series
+
+ svn copy https://svn.apache.org/repos/asf/incubator/mrunit/trunk \
+ https://svn.apache.org/repos/asf/incubator/mrunit/branches/mrunit-X.Y -m "Branching for X.Y releases"
+
+ 2. Bump the version number in trunk and commit (the update-versions script mangles the whitespace in the root XML element):
+
+ sed -i "" -e "s/X.Y.0-incubating-SNAPSHOT/X.Y+1.0-incubating-SNAPSHOT/" pom.xml
+
+ 3. Checkout the release branch:
+
+ svn checkout https://svn.apache.org/repos/asf/incubator/mrunit/branches/mrunit-X.Y
+
+ 3. Remove -SNAPSHOT from the release branch and commit
+
+ sed -i "" -e "s/X.Y.Z-incubating-SNAPSHOT/X.Y.Z-incubating/" pom.xml
+
+ 4. Deploy to Nexus Staging Repository
+
+ 1. Deploy artifact for Hadoop Map Reduce 1.X:
+
+ mvn clean deploy -Psign
+
+ 2. Verify licenses in target/rat.txt
+ 3. Deploy artifact for Hadoop Map Reduce 2.X:
+
+ mvn clean deploy -Psign -Dhadoop.version=2
+
+ 4. Login to <https://repository.apache.org> and select Staging Repositories on the left under Build Promotion.
+ 5. Select org.apache.mrunit from the list of repositories, select the current repository and click Close using "Apache MRUnit X.Y.Z-incubating" as the description to allow others to see the repository.
+
+ 5. Deploy source and binary distributions
+
+ 1. Generate the src distribution:
+
+ mvn clean assembly:single -Psign -Pdist-src
+
+ 2. Copy the src distribution file to people.apache.org:
+
+ scp *.tar.gz.* username@people.apache.org:~/public_html/mrunit-X.Y.Z-incubating-candidate-$RC
+
+ 3. Generate the bin distribution:
+
+ mvn clean assembly:single -Psign -Pdist-bin
+
+ 4. Copy the bin distribution file to people.apache.org:
+
+ scp *.tar.gz.* username@people.apache.org:~/public_html/mrunit-X.Y.Z-incubating-candidate-$RC
+
+ 6. Tag the release candidate:
+
+ svn copy https://svn.apache.org/repos/asf/incubator/mrunit/branches/mrunit-X.Y/ \
+ https://svn.apache.org/repos/asf/incubator/mrunit/tags/release-X.Y.Z-incubating/ -m "MRUnit X.Y.Z-incubating release."
+
+## Run a vote
+
+Send the following to mrunit-dev@incubator.apache.org and general@incubator.apache.org:
+
+ Subject: [VOTE] Release MRUnit version X.Y.Z-incubating
+
+ This is an incubator release for Apache MRUnit, version X.Y.Z-incubating.
+
+ It fixes the following issues:
+ https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311292&version=<REPLACE>
+
+ *** Please download, test and vote by [3 working days after sending].
+
+ Note that we are voting upon the source (tag), binaries are provided for convenience.
+
+ Source and binary files:
+ http://people.apache.org/~<REPLACE>/mrunit-X.Y.Z-incubating-candidate-$RC
+
+ Maven staging repo:
+ https://repository.apache.org/content/repositories/orgapachemrunit-<REPLACE>/
+
+ The tag to be voted upon:
+ http://svn.apache.org/repos/asf/incubator/mrunit/tags/release-X.Y.Z-incubating/
+
+ MRUnit's KEYS file containing PGP keys we use to sign the release:
+ http://svn.apache.org/repos/asf/incubator/mrunit/dist/KEYS
+
+ Note that the Incubator PMC needs to vote upon the release after a
+ successful PPMC vote before any release can be made official.
+
+## Roll Out
+
+If the vote passes, roll out the release:
+
+ 1. Publish Nexus repository:
+ 1. Login to <https://repository.apache.org> and select Staging Repositories on the left under Build Promotion.
+ 2. Select the repository that was closed earlier, and click Release, using the description "Apache MRUnit X.Y.Z-incubating artifacts"
+
+ 2. Publish src and bin distributions to the [mirrors][]:
+
+ ssh people.apache.org
+ VERSION=X.Y.Z
+ PREVIOUS_VERSION=X.Y.Z
+ CANDIDATE=C
+ cp -r ~/public_html/mrunit-$VERSION-incubating-candidate-$CANDIDATE \
+ /www/www.apache.org/dist/incubator/mrunit/mrunit-$VERSION-incubating
+ cd /www/www.apache.org/dist/incubator/mrunit
+ chgrp -R incubator mrunit-$VERSION-incubating
+ chmod -R g+w mrunit-$VERSION-incubating
+ rm -r /www/www.apache.org/dist/incubator/mrunit/mrunit-$PREVIOUS_VERSION-incubating # remove older versions
+
+ The last line is to remove the previous version, since only the most recent version on a particular branch should be in the dist directory. Older versions are [archived][] automatically.
+
+ 3. Wait 24 hours for mirrors to sync
+ 4. Post the javadoc to the site:
+
+ 1. Create the javadoc:
+
+ mvn clean package
+
+ 2. Copy target/apidocs to https://svn.apache.org/repos/infra/websites/production/mrunit/documentation/javadoc/X.Y.Z-incubating
+ 3. Add a link to index.html of the javadoc in the documentation/javadoc.mdtext page
+
+ 5. Create a [blog][] post describing the major changes
+ 6. Post links to the full release notes and the blog post along with links to the major JIRA changes on the front page of the site
+
+## Announce the release
+
+Send the following from an apache.org address to announce@apache.org, common-user@hadoop.apache.org, mapreduce-user@hadoop.apache.org, mrunit-user@incubator.apache.org, mrunit-dev@incubator.apache.org:
+
+ Subject: [ANNOUNCE] Apache MRUnit X.Y.Z-incubating released
+
+ The Apache MRUnit team is pleased to announce the release of MRUnit
+ X.Y.Z-incubating from the Apache Incubator.
+
+ This is the <REPLACE> release of Apache MRUnit, a Java library that helps developers unit test Apache Hadoop map reduce jobs.
+
+ The release is available here:
+ http://www.apache.org/dyn/closer.cgi/incubator/mrunit/
+
+ The full change log is available here:
+ https://issues.apache.org/jira/browse/MRUNIT/fixforversion/<REPLACE>
+
+ We welcome your help and feedback. For more information on how to
+ report problems, and to get involved, visit the project website at
+ http://incubator.apache.org/mrunit/
+
+ The Apache MRUnit Team
+
+## Add the next release to JIRA
+
+ 1. Add the [next version number to JIRA][]
+ 2. Mark the released version as "released" with a release date
+
+
+[PGP code signing keys]: http://www.apache.org/dev/release-signing.html#generate
+[KEYS file]: http://svn.apache.org/repos/asf/incubator/mrunit/dist/KEYS
+[Infrastructure site]: http://www.apache.org/dev/release-signing.html#keys-policy
+[Infrastructure JIRA]: https://issues.apache.org/jira/browse/INFRA
+[setup the ssh keys]: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
+
+[new release notes from JIRA]: https://issues.apache.org/jira/secure/ConfigureReleaseNote.jspa?projectId=12311292
+
+[archived]: http://archive.apache.org/dist/incubator/mrunit/
+[mirrors]: http://www.apache.org/dev/mirrors.html
+[blog]: http://blogs.apache.org/mrunit
+
+[next version number to JIRA]: https://issues.apache.org/jira/plugins/servlet/project-config/MRUNIT/versions
\ No newline at end of file