Steps to release the next project
Step-by-step guide
- Create branch Release_x.y in our repo.
- Remove all code not ready for release (especially all of experiments)
- Adapt CMakelist.txt files to reflect the removals
- Build and test code, preferable on all platforms
- Update THANKS file along with (if needed) NOTICES and LICENSES (remark do not change those lightly!!)
- Update README.md
- Copy build instructions from Wiki and add as BuildInstruct.md
- Clone branch in new directory, remove .git and make zip file (name: corinthia_release_x.y_incubating.zip)
- Sign release with your apache key (pgp -ba corinthia_release_x.y_incubating.zip)
- Generate SHA5 and MD5 checksums (name corinthia_release_x.y_incubating.<checksum>)
- create a directory Release_x.y in https://dist.apache.org/repos/dist/dev/incubator/corinthia
- add .zip, .asc, .sha5, .md5 to directory and commit (svn)
- Call PRE-VOTE (min. 7 days) to allow all PPMC to test the release (without having to rerun the vote)
- Make changes to Release_x.y branch as required, remember to do it in parallel on master, and generate/commit new files
- When everybody is happy with the release candidate, call for a Release vote (no veto, min. 72 hours).
- Summarize the vote
- Call for a IPMC vote (needed 3 +1 binding and no -1)
- Summarize IPMC vote and hopefully celebrate
Related articles
this is the official policy we follow:
http://www.apache.org/dev/release.html#approving-a-release
These are helpers to describe how to handle the above:
http://incubator.apache.org/guides/releasemanagement.html
http://wiki.apache.org/incubator/ReleaseChecklist
http://incubator.apache.org/guides/release.html
http://wiki.apache.org/incubator/SigningReleases