Title: How To Release

How To Release Mahout

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

Release Planning

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

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:

Steps For Release Engineer

Before building release

  1. Check that all tests pass after a clean compile: mvn clean test
  2. Check that there are no remaining unresolved Jira issues with the upcoming version number listed as the “Fix” version
  3. Publish any prev. unpublished Third Party Deps: Thirdparty Dependencies

Previewing the Artifacts

  1. To build the artifacts:
  2. mvn -Pmahout-release,apache-release,hadoop2 package

Making a release

mahout_release YOUR PGP KEY NAME YOUR SIGNING PASSCODE HERE mahout.releases::default::https://repository.apache.org/service/local/staging/deploy/maven2/ USERNAME https://repository.apache.org/service/local/staging/deploy/maven2/
apache.releases.https USERNAME PASSWORD

If it screws up, first try doing:

mvn -Dmahout-release,apache-release,hadoop2 release:rollback.

followed by

mvn -Dmahout-release,apache-release,hadoop2 release:clean

This will likely save you time and do the right thing. You may also need to delete the tag in source control:

git tag -d mahout-X.XX.X; git push apache :refs/tags/mahout-X.XX.X

You may also have to rollback the version numbers in the POM files.

If you want to skip test cases while rebuilding, use

mvn -DpreparationGoals=”clean compile” release:prepare release:perform

See also:

Post Release

Versioning

Documentation

Publicity

TODO: Things To Cleanup in this document