This page has been prepared for Apache Lucy committers. You need committer privileges to serve as Release Manager.
If this is your first time as a Release Manager, there are some materials you should peruse to familiarize yourself with ASF release conventions.
- http://www.apache.org/dev/release-publishing.html – An overview of the release process.
- http://www.apache.org/dev/release.html – ASF release FAQ.
- http://www.apache.org/dev/release-signing.html – ASF release signing policy.
- http://www.apache.org/dev/openpgp.html – Guide to using OpenPGP at the ASF.
- http://www.apache.org/dev/release-download-pages.html – Guide to creating project download pages. Ours is done, but this explains the rationale behind its content.
- Lastly, there is the Incubator release management documentation at http://incubator.apache.org/guides/releasemanagement.html, from which this guide was largely distilled. It's not necessary to follow every recommendation in this sprawling document, particularly the irrelevant Java-specific sections, but it's important that you understand the issues involved.
If you have questions, ask on #lucy_dev or the dev list.
PGP Key publication (first time RMs)
*NOTE* -- _The situation with publishing KEYS is in flux and this section may no longer be relevant. See \[http://s.apache.org/Klf\]._
If you have not already done so, append your public key to the Lucy repository KEYS file at http://www.apache.org/dist/lucy/KEYS and publish your key at http://pgp.mit.edu/. The KEYS file itself contains instructions for making the necessary modifications. For more details on signing releases, see http://www.apache.org/dev/release-signing.html and http://www.apache.org/dev/openpgp.html.
The KEYS file is stored on people.apache.org in /www/www.apache.org/dist/lucy. Be careful when editing it as it is not under source control.
Before the Release Manager gets started, the Lucy community must complete all the tasks listed in ReleasePrep.
Lucy has a "release_commands.pl" helper script in devel/bin which provides the step-by-step sequence of actions necessary to perform a release. Whenever possible, it autogenerates exact commands for you to run (which often contain version-specific arguments and are troublesome to type out). It doesn't run the commands; instead it just prints them out for you to copy and paste instead of reformulate manually.
$ ./devel/bin/release_commands.pl --apache-id=myapacheid --version=0.3.1-rc1 > commands.txt
Run release_commands.pl from trunk, as the copies on the branches may or may not have been kept up to date.
From a high level, here are the stages of creating a release:
- Branch and tag the release candidate within version control.
- Build and stage the release artifacts.
The specifics of each stage are covered in release_commands.pl.