Preface
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.
Community preparation
Before the Release Manager gets started, the Lucy community must complete all the tasks listed in ReleasePrep.
Helper script
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.
Stages
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.
- Vote.
- Publish.
- Announce.
The specifics of each stage are covered in release_commands.pl.