Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You should have a 4096 bit RSA PGP key for signing the release. This key should be in the Apache web of trust. Once generated, ensure your key is in https://svn.apache.org/repos/asf/zookeeper/bookkeeper/dist/KEYS.

...

Put the following in ~/.m2/settings.xml. This will allow you to release and deploy to the apache maven repositories. Of course, it's best not to store your password in cleartext. See http://maven.apache.org/guides/mini/guide-encryption.html for a guide on how to make this a little more secure.

Code Block

<settings>
<servers>
<server>
     <id>apache.snapshots.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
   <server>
     <id>apache.staging.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
   <server>
     <id>apache.releases.https</id>
     <username>APACHE-ID</username>
     <password>APACHE-PASSWORD</password>
   </server>
</servers>
</settings>

...

  1. Create release branch
  2. Generate release notes
  3. Build and stage artifacts
  4. Inspect the artifacts
  5. Tag the release in Subversion
  6. Run the vote
  7. If vote gets +1 from 3 PMC members and no -1, go to next step, otherwise fix problem and repeat from step 2.
  8. Release artifacts
  9. Wait 24 hours for mirrors to sync
  10. Update the website
  11. Announce the release
Creating the release series branch (NEEDS UPDATE)

This only needs to be done for the first release of a series, (e.g. It needs to be done for 4.1.0 but not for 4.1.1 or 4.1.2).

...

Create a branch for the release:

Code Block

svn copy https://svn.apache.org/repos/asf/zookeeper/bookkeeper/trunk \
    https://svn.apache.org/repos/asf/zookeeper/bookkeeper/branches/branch-X.Y -m "Branching for X.Y releases"

...

Select the correct version, in HTML format. Make it look like previous release notes. https://svn.apache.org/repos/asf/zookeeper/bookkeeper/site/content/docs/r4.1.0/releaseNotes.textile

Generate a list of all issues committed since last release. In this example, the last release was the 1st February 2012release-4.2.3, so we want to see all changes since that tag.

Code Block

bookkeeper/trunk$ svnbookkeeper$ git log -r {2012-02-01}:HEAD
release-4.2.3..HEAD

Manually check that the list from JIRA, SVN and CHANGES.txt all reflect the same changes.

...

Make sure the branch builds cleanly. Check for errors and warnings in the output.

Code Block

mvn clean findbugs:findbugs apache-rat:check install

Then build the artifacts.

Code Block

mvn clean package assembly:single -DskipTests

...

Create a directory and copy the three tar.gz packages into it. Sign and generate md5 & sha1 hashes for each package.

Code Block

md5md5sum <FILE>.tar.gz > <FILE>.tar.gz.md5
shasum <FILE>.tar.gz > <FILE>.tar.gz.sha1
gpg --armor -u yourname@apache.org --output <FILE>.tar.gz.asc --detach-sig <FILE>.tar.gz

Copy the directory to your public_html directory on peopleAdd these files to a directory in https://dist.apache.org/repos/dist/dev/bookkeeper (this is a subversion repo), naming it bookkeeper-<VERSION>-candidate-0.

... and into Maven
Code Block

mvn clean deploy -Pdeploy

...

Tag the release

Commit changes to subversiongit, tag, and tagpush:

Code Block

svngit committag -m "Preparing for release X.Y.Z"
svn copy https://svn.apache.org/repos/asf/zookeeper/bookkeeper/branches/branch-X.Y https://svn.apache.org/repos/asf/zookeeper/bookkeeper/tags/release-X.Y.Zu <your-gpg-key> release-4.2.4 -m "BookKeeper Release X4.Y.Z release."2.4"
git push origin release-4.2.4
Run the vote

Send a mail like the following, updating the relevant content.

Code Block

To: bookkeeper-dev@zookeeperdev@bookkeeper.apache.org
Subject: [VOTE] BookKeeper X.Y.0Z Release Candidate 0

This is the first release candidate for Apache BookKeeper, version X.Y.0Z.

It fixes the following issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12319145&styleName=Html&projectId=12311293

*** Please download, test and vote by June 5th 2012, 10:00 GMT.

Note that we are voting upon the source (tag), binaries are provided for
convenience.

Source and binary files:
httphttps://peopledist.apache.org/~sijie/repos/dist/dev/bookkeeper/bookkeeper-4X.1Y.0Z-candidate-0/

Maven staging repo:
https://repository.apache.org/content/repositories/orgapachebookkeeper-169/

The tag to be voted upon:
http://svn.apache.org/repos/asf/zookeeper/bookkeeper/tags/release-4X.1.0/Y.Z (21f4a4cffefaa9391b79d79a7849da9c539af834)

BookKeeper's KEYS file containing PGP keys we use to sign the release:
httphttps://svndist.apache.org/repos/asfdist/zookeeperrelease/bookkeeper/dist/KEYS

Please download the the source package, and follow the README to build
and run a bookkeeper and hedwig service.
Release the artifacts (NEEDS UPDATE)

Copy the packages to the correct place.

Code Block

ssh people.apache.org
cp -r ~/public_html/bookkeeper-X.Y.Z-candidate-<CANDIDATE> /www/www.apache.org/dist/zookeeper/bookkeeper/bookkeeper-X.Y.Z
chgrp -R zookeeper /www/www.apache.org/dist/zookeeper/bookkeeper/bookkeeper-X.Y.Z
chmod -R g+w /www/www.apache.org/dist/zookeeper/bookkeeper/bookkeeper-X.Y.Z

...

See Building the website and documentation. Follow the pattern used for previous releases. Add the documentation for the release, the release notes, and link in the releases page and an update in the new page.

Announce the release (NEEDS UPDATE)

Assuming 24 hours have passed since releasing the artifacts, send a mail like the following.

Code Block

To: bookkeeper-dev@zookeeper.apache.org, bookkeeper-user@zookeeper.apache.org, announce@apache.org
Subject: [ANNOUNCE] Apache BookKeeper 4.1.0 released

The Apache BookKeeper team is proud to announce Apache BookKeeper version
4.1.0.

This is the second release of the Apache BookKeeper subproject of ZooKeeper.
The BookKeeper project is made up of a distributed logging service called
BookKeeper and a distributed publish/subscribe system build on top of
BookKeeper called Hedwig.

For BookKeeper release details and downloads, visit:

http://zookeeper.apache.org/bookkeeper/releases.html

BookKeeper 4.1.0 Release Notes are at:
http://zookeeper.apache.org/bookkeeper/docs/r4.1.0/releaseNotes.html<http://zookeeper.apache.org/bookkeeper/docs/r4.0.0/releaseNotes.html>

We would like to thank the contributors that made the release possible.

Regards,

The BookKeeper Team