<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.
Generate release notes
Create a branch (only required for the first release in a series (X.Y.0))
Create a branch for the X.Y release series
git checkout -b mrunit-X.Y git push -u origin mrunit-X.Y
Bump the version number in trunk and commit (the update-versions script mangles the whitespace in the root XML element):
git checkout trunk sed -i "" -e "s/X.Y.0-SNAPSHOT/X.Y+1.0-SNAPSHOT/" pom.xml git add pom.xml git commit -m "Preparing for the X.Y release" git push -u origin trunk
Checkout the release branch:
git checkout mrunit-X.Y
Remove -SNAPSHOT from the release branch and commit
sed -i "" -e "s/X.Y.Z-SNAPSHOT/X.Y.Z/" pom.xml
Deploy to Nexus Staging Repository
Deploy artifact for Hadoop Map Reduce 1.X:
mvn clean deploy -Psign
Verify licenses in target/rat.txt
Deploy artifact for Hadoop Map Reduce 2.X:
mvn clean deploy -Psign -Dhadoop.version=2
Login to https://repository.apache.org and select Staging Repositories on the left under Build Promotion.
Deploy source and binary distributions
Generate the src distribution:
mvn clean assembly:single gpg:sign checksum:artifacts -Pdist-src
Copy the src distribution file and checksums to people.apache.org, excluding the asc.md5/asc.sha1 files:
rm target/*asc.* scp target/*.tar.gz* username@people.apache.org:~/public_html/mrunit-X.Y.Z-candidate-$RC
Generate the bin distribution:
mvn clean assembly:single gpg:sign checksum:artifacts -Pdist-bin
Copy the bin distribution file and checksums to people.apache.org, excluding the asc.md5/asc.sha1 files:
rm target/*asc.* scp target/*.tar.gz* username@people.apache.org:~/public_html/mrunit-X.Y.Z-candidate-$RC
Tag the release candidate:
git tag -a release-X.Y.Z -m "MRUnit X.Y.Z release." git push origin release-X.Y.Z
Send the following to dev@mrunit.apache.org:
Subject: [VOTE] Release MRUnit version X.Y.Z This is a release for Apache MRUnit, version X.Y.Z. 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-candidate-$RC Maven staging repo: https://repository.apache.org/content/repositories/orgapachemrunit-<REPLACE>/ The tag to be voted upon: URL FROM https://git-wip-us.apache.org/repos/asf?p=mrunit.git MRUnit's KEYS file containing PGP keys we use to sign the release: https://dist.apache.org/repos/dist/release/mrunit/KEYS
If the vote passes, roll out the release:
Publish Nexus repository:
Publish src and bin distributions to the mirrors:
svn co https://dist.apache.org/repos/dist/release/mrunit/ mrunit-release cd mrunit-release VERSION=X.Y.Z PREVIOUS_VERSION=X.Y.Z CANDIDATE=C mkdir mrunit-$VERSION cp /path/to/rc/build/dir/target/*.tar.gz* mrunit-$VERSION svn add mrunit-$VERSION svn delete mrunit-$PREVIOUS_VERSION svn commit -m "MRUnit X.Y.Z release"
The second to 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.
Wait 24 hours for mirrors to sync
Post the javadoc to the site:
Create the javadoc:
mvn clean package
Copy target/apidocs to https://svn.apache.org/repos/infra/websites/production/mrunit/content/mrunit/documentation/javadocs/X.Y.Z
Update the general/downloads.mdtext page
Send the following from an apache.org address to announce@apache.org, common-user@hadoop.apache.org, mapreduce-user@hadoop.apache.org, user@mrunit.apache.org, dev@mrunit.apache.org:
Subject: [ANNOUNCE] Apache MRUnit X.Y.Z released The Apache MRUnit team is pleased to announce the release of MRUnit X.Y.Z. 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/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://mrunit.apache.org The Apache MRUnit Team