Release Management
Process Overview
Preparation
- A vote is necessary to determine if a release shall be done.
- Send email to dev@lenya.apache.org with Subject:
[VOTE] Release $VERSION
. - Determine the official Cocoon release which the Lenya release will be based on.
Code Freeze Announcement
Announce the freeze 7 days ahead of the actual freeze.
Send email to dev@lenya.apache.org with subject: [FREEZE-ANNOUNCEMENT] Release $VERSION
.
Start the Code Freeze
Start the actual freeze:
Send email to dev@lenya.apache.org with subject: [FREEZE-START] Release $VERSION
.
During the freeze, the developers watch commits mailing list for commits to freezed branch, and inspect diffs to determine risk level. Risky changes are alerted on the developer list and rolled back, unless a vote passes to keep the risky change.
Create a Tagged Version
There are many ways to create a new tag, we will show the quick one and a more detailed one. The quick way is:
svn copy https://svn.apache.org/repos/asf/lenya/trunk\ https://svn.apache.org/repos/asf/lenya/tags/RELEASE_2_0_RC_2/\ -m "Tagging the 2.0 RC2."
Alternatively browse to http://svn.apache.org/repos/asf/lenya/trunk/
svn co -r $REVISION https://svn.apache.org/repos/asf/lenya/branches/BRANCH_1_2_X cd branches/BRANCH_1_2_X svn copy branches/BRANCH_1_2_X tags/RELEASE_1_2_5 svn ci -m "Release 1_2_5 added" tags/RELEASE_1_2_5
More info: http://svnbook.red-bean.com/en/1.1/ch04s06.html.
Update the svn:externals properties
Set the svn:externals
properties for Cocoon and all other included repositories to the respective release tags.
cd externals svn propdel svn:externals . svn propset svn:externals "cocoon_2_1_10 https://svn.apache.org/repos/asf/cocoon/tags/cocoon-2.1/RELEASE_2_1_10" .
Update the path to Cocoon in build.properties.
cocoon.src.dir=externals/cocoon_2_1_10
If it has been decided that a development version of Cocoon shall be used, add the revision
number to the svn:externals
declaration:
svn propset svn:externals "cocoon_2_1_x -r 608663 https://svn.apache.org/repos/asf/cocoon/branches/BRANCH_2_1_X" .
Testing
- Start testing the tagged version (based on the specified Cocoon version, e.g. 2.1.8).
- Use the test suite: TestCases (Wiki) (FIXME: Move normative set of test cases to official docs?)
- Maybe do a sprint over IRC (server irc.freenode.org, channel lenya). Try to find a day where lots of devs are present.
- New bugs must be recorded in the issue tracker.
- If all tests are successful (i.e., no critical or blocker bugs have been found), proceed with step Create a Tagged Version.
- If critical or blocker bugs have been found, the release process is canceled.
(If necessary:) Cancelling the Freeze
The freeze can be canceled via a vote on the dev@lenya.apache.org mailing list under certain circumstance (very rare):
- New blocker bugs that need bigger changes
- Critical architectural changes
Add the Release Notes
Add the release notes (SVN URL, SVN Revision, What's new, Cocoon version 2.1.8, etc.) to the tagged version:
svn add RELEASE-NOTES.txt svn ci -m "release notes added" RELEASE-NOTES.txt
Lock the Tagged Version (Optional)
svn lock tags/RELEASE_1_2_5
Release the Tarballs
- Create tarbals:
./build.sh dist-src
- Sign the release archives/installers with your PGP/GPG key (see instructions below).
- Upload the release to
minotaur.apache.org:/x1/www/www.apache.org/dist/lenya/SOURCES
. - Edit the Downloads links on the web site with links to the new release files. Currently that's index.xml and docs/2_0_x/installation/index.xml.
Publish a Release Announcement
Publish a Project Release Announcement to appropriate places (see section Release Announcement below).
Update the DOAP file
Update the Lenya DOAP file (http://svn.apache.org/repos/asf/lenya/site/doap_Lenya.rdf) with the version and date of this new release.
Signing
PGP/GPG signatures on releases
- If not yet done add your key to the KEYS file. Follow the instruction at the top of that file.
-
Export you public key with
gpg -a -export [[apache account]] > .pgpkey
and place the file.pgpkey
onminotaur.apache.org
in your home directory. You also would sign up at Big Lumber; Key management made easy to easily coordinate and manage signatures for your key. -
Update the KEYS file at
minotaur.apache.org:/x1/www/www.apache.org/dist/lenya/KEYS
from Lenya SVN.
ASF signing Resources
- Signing Releases How-To
- State of signed Apache software releases
- ASF web of trust
- ASF MD5 checksum veryfier
- Big Lumber; Key management made easy
Release Announcement
The release announcement can be published at the following places:
- Lenya website
- user@lenya.apache.org
- users@cocoon.apache.org
- announce@apache.org
- lwn@lwn.net
- general@oscom.org
- http://mailman.skybuilders.com/mailman/listinfo/cms-pr (subcribe if needed)
- http://www.cmsmatrix.org/matrix?func=editSubmission&sid=new&wid=5
- http://www.contentmanager.net (via contact form)
- http://www.javalobby.org/forums/post!default.jspa?forumID=17
- http://www.theserverside.com/news/post.tss