This page describes the steps that a release manager needs to take to perform a release of Apache CloudStack (Incubating).
(Thanks to the couchdb project for a great template to use for this procedural document!)
Prior to an official vote, start a thread on the cloudstack-dev mailing list, specifically asking for comments on the project's readiness to cut a release.
Once it appears that any outstanding blockers have been addressed, you can proceed to the next step.
Update your local git repo from the ASF repository:
git fetch origin
Check out the release branch:
git checkout X.X.X
( or if you haven't already checked it out locally with remote tracking enabled: git checkout -b X.X.X origin/X.X.X )
Make sure your local copy exactly matches the remote repo:
git reset --hard HEAD git clean -qfxd git rebase origin/X.X.X
Grab the current tree-sh:
git show HEAD | head -n 1 | cut -d " " -f 2
Then run the source build script (Replacing the parameters: X.X.X=your official version number for the release; B.B=the branch (can be master) that the release is coming from; CCCC=the cert ID to sign both the artifacts and the git tag with):
tools/build/build_asf.sh -v X.X.X -b B.B -t -u CCCC -k CCCC
( optionally specifying your local directory layout - see build_asf.sh -h for details )
You can now upload the source release artifacts to your people.apache.org public_html folder. Ex:
scp ~/cs-asf-build/* username@people.apache.org:public_html/cloudstack/X.X.X/.
Follow the instructions documented here: CloudStack 4.0 test procedure (TODO: this test procedure document should be release number agnostic)
If your personal tests pass, you are ready to propose the release to the community.
Email the cloudstack-dev mailing list, using the following template:
SUBJECT: [VOTE] Apache Cloudstack X.X.X-incubating
MESSAGE:
Hi All, I've created a X.X.X-incubating release, with the following artifacts up for a vote: Git Branch and Commit SH: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=shortlog;h=refs/heads/X.X.X Commit: XXXXXXXXXXXXXXXXX List of changes: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=CHANGES;hb=refs/heads/X.X.X Source release (checksums and signatures are available at the same location): http://people.apache.org/~YOU/cloudstack/dist/releases/X.X.X/ PGP release keys (signed using XXXXXXXX): https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=KEYS;hb=refs/heads/X.X.X Vote will be open for 72 hours. For sanity in tallying the vote, can PPMC and IPMC members please be sure to indicate "(binding)" with their vote? [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove (and reason why)
After 72 hours, the vote can be closed.
If (after tallying the vote) the binding +1 votes are not in the majority, the issues noted need to be addressed and process starts again.
If the vote passes, then send a [RESULTS] vote to the dev list. Template below:
SUBJECT: [RESULT][VOTE] Apache Cloudstack X.X.X-incubating
MESSAGE:
Hi all, After 72 hours, the vote for CloudStack X.X.X-incubating [1] *passes* with Z PPMC + Z non-PPMC votes. +1 (PPMC / binding) * person +1 (non binding) * person 0 none -1 none Thanks to everyone participating. I will now submit the release for voting on the general@incubator.apache.org [1] URL TO CLOUDSTACK-DEV VOTE THREAD
Initiate the vote thread on general@incubator.apache.org. It's useful for the incubator folks to see a list of the IPMC members that voted on the initial vote thread. Template below:
SUBJECT: [VOTE] Apache Cloudstack X.X.X-incubating
MESSAGE:
Hi All, I've created a X.X.X-incubating release, with the following artifacts up for a vote: Git Branch and Commit SH: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=shortlog;h=refs/heads/X.X.X Commit: XXXXXXXXXXXXXXXXX List of changes: https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=CHANGES;hb=refs/heads/X.X.X Source release (checksums and signatures are available at the same location): http://people.apache.org/~YOU/cloudstack/dist/releases/X.X.X/ PGP release keys (signed using XXXXXXXX): https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=KEYS;hb=refs/heads/X.X.X This has been voted through on the cloudstack-dev@incubator.apache.org mailing list [1], and now requires a vote on general@incubator.apache.org Votes already cast (on cloudstack-dev): +1 (PPMC / binding) * name of PPMC member * name of PPMC member that is also an (IPMC member) +1 (non binding) * committer or other community member Vote will be open for 72 hours. [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove (and reason why) Best regards. [1] URL TO CLOUDSTACK-DEV VOTE THREAD