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.

If you have questions, ask on #lucy_dev or the dev list.

Preparation

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.

Versioning

Apache Lucy uses the following X.Y.Z versioning scheme:

  ASF release             => apache-lucy-0.3.1.tar.gz
  Documentation           => 0.3.1
  CPAN release            => Lucy-0.3.1.tar.gz
  META.yml (CPAN release) => 0.003001
  $VERSION (Lucy.pm)      => "0.003001"

Official Apache Lucy releases will have X.Y.Z style versions, but packaged/binary releases of particular host language implementations (e.g. CPAN or rubygems) may append a final .n to their versions (X.Y.Z.n) to indicate a change in packaging or distribution for that particular package. See the discussion here.

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:

  1. Branch and tag the release candidate within version control.
  2. Build and stage the release artifacts.
  3. Vote.
  4. Publish.
  5. Announce.

The specifics of each stage are covered in release_commands.pl.

ReleaseGuide (last edited 2012-04-03 23:14:34 by MarvinHumphrey)