You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This page is a guide, to making a release for the BookKeeper project. It's based off the Whirr instructions and our experience releasing.

First time

There are a few things which you need to set up before making a release.

PGP keys

You should have a 4096 bit RSA PGP key for signing the release. This key should be in the Apache web of trust.

Maven setup

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.

<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>

SSH setup on people.apache.org

The release procedure will require multiple logins to people.apache.org. To avoid having to log in many times, ensure that you have ssh password less login set up for people.apache.org.

Making the release

The steps for releasing are as follows.

  1. Create release branch
  2. Generate release notes
  3. Build and stage artifacts
  4. Test the built 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

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).

  1. Update CHANGES.txt, renaming the trunk section to reflect the version being released.

Create a branch for the release:

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"

Check out the new branch.

  1. Update the version in all pom files. X.Y.0-SNAPSHOT -> X.Y.0
  2. Commit these changes.

On trunk

  1. Add a new trunk section in CHANGES.txt
  2. Bump the version in all poms, X.Y.0-SNAPSHOT -> X.(Y+1).0-SNAPSHOT
Generate release notes

Generate the release notes from JIRA. https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311293

Generate a list of all issues committed since last release.

 

Manually check this list for accuracy! I've repeatedly seen closed bugs that were not fixed (i.e., duplicate) marked with a fix version, so that they incorrectly show up in this list. Find those, edit them to remove the fix release (only actually fixed bugs should have a fix release) and re-run the report.

Select the correct version, in HTML format. Make it look like previous release notes.

  • No labels