mahout-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Lucene Mahout > How to release
Date Thu, 22 Oct 2009 00:00:05 GMT
Space: Apache Lucene Mahout (
Page: How to release (

Edited by Sean Owen:
This wiki page is under contruction, currently more or less a modified clone of the Solr HowToRelase
page. More to come soon!

*This page is prepared for Mahout committers. You need committer rights to create a new Mahout

h1. Release Planning

Start a discussion on mahout-dev about having a release, questions to bring up include:

 * Any [unresolved Jira issues with the upcoming version number listed as the "Fix Version"
 * Any ["Fixed" Jira issues missing a "Fix Version" |]
that should be updated to indicate that there were fixed in this upcoming version?
 * Does any documentation needs an updated?  Any necessary notes on upgrading for CHANGES.txt?
 * Who is going to be the "release engineer"?
 * What day should be targeted for the release ?  (leave buffer time for a code freeze and
release candidate testing; make sure at least a few people commit to having time to help test
the release candidates around the target date.)

h1. Code Freeze

For 7-14 days prior to the release target date, have a "code freeze" where committers agree
to only commit things if they:
 * Are documentation improvements (including fixes to eliminate Javadoc warnings)
 * Are new test cases that improve test coverage
 * Are bug fixes found because of improved test coverage
 * Are new tests and bug fixes for new bugs encountered by manually testing

h1. Steps For Release Engineer

h2. Before building release
 # Check that all tests pass after a clean compile: mvn clean test
 # Double Check that there are no remaining unresolved Jira issues with the upcoming version
number listed as the "Fix" version
 # Double Check that there are no ["Fixed" Jira issues missing a "Fix Version" |]
that should be marked as fixed in this release.

h2. Making a release
 # Check if documentation needs an update
 # Update news in {{src/site/src/documentation/content/xdocs/index.xml}} and for main
site stored at The second change may require
additional rights or  patch submitted to the Lucene PMC
 # Commit these changes.
           '''Note:''' It is important to do this prior to the build so that it is reflected
in the copy of the website included with the release for documentation purposes.
 # If this is your first release, add your key to the KEYS file. The KEYS file is located
in Subversion at [WWW] [WWW] and
copy it to the release directory. Make sure you commit your change. 
 # Add a profile to your ~/.m2/settings.xml in the <profiles> section with:
        <gpg.keyname>YOUR PGP KEY NAME</gpg.keyname>
        <gpg.passphrase>YOUR SIGNING PASSCODE HERE</gpg.passphrase>
        <gpg.passphrase>YOUR SIGNING PASSCODE HERE</gpg.passphrase>
 # If this is the first release in a series (i.e. relase X.Y.0):
    # Prepare the release (actually, will prepare a Release Candidate)
		 {{mvn release:prepare}}
    # Perform the release (copies the release candidate to staging area
                 {{mvn release:perform}}
    # IF it screws up, do not clean or release:clean without first trying to do: release:rollback.
 This will likely save you time and do the right thing.  If it doesn't work, then do clean
and release:clean and also delete the tag from svn, if it was created.
    # Review the artifacts, etc. at scp://
    # Ask others on mahout-dev to review the artifacts.
    # Call a VOTE on mahout-dev@ and CC  Votes require 3 days before
passing.  See Apache [release policy|]
for more info.
    # If the vote passes, then copy the artifacts to the appropriate mirrors and repositories:
          TODO: Double Check this
          {quote}mvn stage:copy -Dsource=""
               -Dversion=Y.Z \
    # Copy the Assemblies (tar.gz, zip, tar.bz2) to the ASF mirrors at:
See [Guide To Distributing Existing Releases Through The ASF Mirrors|]
and the links that are there.
    # Wait 24 hours for release to propagate to mirrors.
    # Deploy new Mahout site.
    # Deploy new main Lucene site.
    # Update Javadoc in {{}}.
           NOTE: skip this for now, as this javadoc is currently updated automatically from
the nightly build
    # Send announcements to the user and developer lists.

See also:

h2. Post Release
h3. Versioning
 * Create the next version in Jira (if it doesn't already exist)   
 * Mark the version as "released" in Jira (noting the release date)

h3. Documentation
 * Change wiki to match current best practices (remove/change deprecations, etc)

h3. Publicity
 * update freshmeat
 * !TheServerSide blurb
 * blog away

h1. Related Resources


h1. :TODO: Things To Cleanup in this document


 * more info about the process (ie: stage the release candidate on, send
email to mahout-dev seeking feedback, etc...) 
 * more specifics about things to test before starting or after packaging (RAT, run scripts
against example, etc...)
 * include info about [Voting |]

Change your notification preferences:

View raw message