2016/04/30 - Apache MRUnit has been retired.

For more information, please explore the Attic.

General

Documentation

Community

Development

PMC

ASF

How to Release

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 mrunit unix group on people.apache.org and the mrunit deployer roler for Nexus
  4. Update the KEYS file in releases SVN
  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"
  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

      git checkout -b mrunit-X.Y
      git push -u origin mrunit-X.Y
      
    2. 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
      
    3. Checkout the release branch:

      git checkout mrunit-X.Y
      
  3. Remove -SNAPSHOT from the release branch and commit

    sed -i "" -e "s/X.Y.Z-SNAPSHOT/X.Y.Z/" 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 delete any asc.md5/asc.sha1 files. Then click Close using "Apache MRUnit X.Y.Z" 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 gpg:sign checksum:artifacts -Pdist-src
      
    2. 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
      
    3. Generate the bin distribution:

      mvn clean assembly:single gpg:sign checksum:artifacts -Pdist-bin
      
    4. 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
      
  6. Tag the release candidate:

    git tag -a release-X.Y.Z -m "MRUnit X.Y.Z release."
    git push origin release-X.Y.Z
    

Run a vote

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

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 artifacts"
  2. 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.

  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/content/mrunit/documentation/javadocs/X.Y.Z

    3. Add a link to index.html of the javadoc in the documentation/javadoc.mdtext page
  5. Update the general/downloads.mdtext page

  6. Create a blog post describing the major changes
  7. 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, 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

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

Copyright © 2011-2012 The Apache Software Foundation Licensed under the Apache License, Version 2.0

Apache MRUnit, MRUnit, Apache, the Apache feather logo, and the Apache MRUnit project logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.