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