This page is prepared for Mahout committers. You need committer rights to create a new Mahout release.
Start a discussion on mahout-dev about having a release, questions to bring up include:
For 7-14 days prior to the release target date, have a “code freeze” where committers agree to only commit things if they:
mvn clean test cd buildtools
./build-all-release-jars.sh
~/.m2/settings.xml in the <profiles> section with:<profiles>
<profile>
<id>mahout_release</id>
<properties>
<gpg.keyname>1234BEEF</gpg.keyname>
<gpg.passphrase>YOUR_SIGNING_PASSCODE_HERE</gpg.passphrase>
<deploy.altRepository>mahout.releases::default::https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.altRepository>
<username>USERNAME</username>
<deploy.url>https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.url>
</properties>
</profile>
</profiles>
<servers> section in ~/.m2/settings.xml in order to upload artifacts (as the -Dusername= -Dpassword= didn’t work for gsingers for 0.8, but this did; n.b. it didn’t work for akm for the 0.13 release):
```
* *Clarify which env var is better or choose one* Set environment variable `MAVEN_OPTS` to `-Xmx1024m` to ensure the tests can run: `export JAVA_OPTIONS="-Xmx1g"`
* If you are outside the US, then svn.apache.org may not resolve to the main US-based Subversion servers. (Compare the IP address you get for svn.apache.org with svn.us.apache.org to see if they are different.) This will cause problems during the release since it will create a revision and then immediately access, but, there is a replication lag of perhaps a minute to the non-US servers. To temporarily force using the US-based server, edit your equivalent of /etc/hosts and map the IP address of svn.us.apache.org to svn.apache.org.
* Create the release candidate: `mvn -Pmahout-release,apache-release release:prepare release:perform`
* If you have problems authenticating to svn.apache.org, try adding to the command line `-Dusername=USERNAME -Dpassword=PASSWORD`
* If there is an issue first try doing: `mvn -Dmahout-release,apache-release release:rollback` followed by `mvn -Dmahout-release,apache-release,hadoop2 release:clean` as this will likely save you time and do the right thing. 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`
* Review the artifacts, etc. on the Apache Repository (using Sonatype's Nexus application) site: https://repository.apache.org/. You will need to login using your ASF SVN credentials and then browse to the staging area.
* Once you have reviewed the artifacts, you will need to "Close" out
the staging area under Nexus, which then makes the artifacts available for
others to see.
1. Log in to Nexus
1. Click the Staging Repositories link in the left hand menu
1. Click the Mahout staged artifact that was just uploaded by the
release:perform target
1. Click Close in the toolbar. See https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository for a picture
1. Copy the "Repository URL" link to your email; it should be formed like https://repository.apache.org/content/repositories/orgapachemahout-024/
* Call a VOTE on dev@mahout.apache.org. Votes require 3 days before passing. See Apache [release policy|http://www.apache.org/foundation/voting.html#ReleaseVotes] for more info.
* If there's a problem, you need to unwind the release and start all over.
mvn -Pmahout-release,apache-release versions:set -DnewVersion=PREVIOUS_SNAPSHOT
mvn -Pmahout-release,apache-release versions:commit
git commit
git push –delete apache
See also:
| include info about [Voting | http://www.apache.org/foundation/voting.html#ReleaseVotes] |