Release Procedure

Please note:

This documentation is outdated (especially regarding voting and signing issues). Release build of core 1.1.5 is currently in progress. I'm logging my activities in detail on the CoreRelease115 page. As soon as the release is out I will revise these docs. --Manfred

General Steps

  1. Release any myfaces project dependencies the project you're releasing might have (usually maven and shared at a minimum). Follow this procedure recursively for those dependencies.
  2. Use maven to prepare a release (creates a branch, etc.)
    • The prepare step will create a branch from the trunk, remove the "-SNAPSHOT" from the version in the trunk, and increment the version number of the snapshot in the trunk automatically. {{{ mvn release:prepare \ }}}
    • Accept the default release versions (shown in brackets)
      • Accept the default development version (shown in brackets - this is the new snapshot for the trunk)
    • NOTE: If the prepare step crashes you need to remove release.properties, delete the target dir and revert the pom.xml before starting over.
    • This creates a release.properties in you local directory. Its important that you add this to SVN right away (on the branch - not the trunk) because it is needed to finalize the release and someone else may do this step. Be sure to remove the scm.password line from the file before checking in! Nobody needs to know your ASF password.
  3. Fix remaining issues on the branch
  4. Update release notes
  5. Users test locally on their machines by checking out from branch and doing a maven install
  6. Take a vote on the dev list (only PMC votes are binding). Vote is taken against a specific SVN revision number (not release candidate necessary)
  7. Manually tag the release in svn
  8. Use maven to deploy the final release (requires resource.properties from the prepare step)
  9. Manually sign all resulting jar files (ASF requirement)

Special Steps for Specific Projects

MyFaces Maven

When you prepare the release for this project, Maven will automatically increment the trunk snapshot version. Consequently you will need to manually change some references in the other poms on the trunk.

Core (Impl)

Shared

When you prepare the release for this project, Maven will automatically increment the trunk snapshot version. Consequently you will need to manually change some references in the other poms on the trunk.

Release_Procedure (last edited 2009-09-20 23:00:54 by localhost)