This document describes the process of doing an official release of Myriad.
Some general guidelines
- Mark the JIRAs that needs to go into a release.
- Choose a "Release Manager". It's highly recommended that the Release Manager should read the docs listed under "Useful Links" section.
- Agree upon a potential release date.
- Submit PRs. Review PRs submitted by others.
- Maintain a running release notes.
Prerequisites
Apache requires signing the release artificats/archives using a OpenPGP compatible ASCII armored detached signature. Please read this document.
Ensure that the "Release Manager" has a GPG key or generate a new one, e.g., using
gpg
--gen-key. Make sure to generate a RSA key with at least 4096 bits.Add your GPG public key to the Apache Myriad dist repository in the KEYS file.
- Submit your GPG public key to a keyserver, e.g. MIT PGP Public Key Server.
Add your GPG fingerprint to your Apache account.
Just before a release
- Ensure all the outstanding PRs are merged.
- (Re)Read Apache's Release Check List.
- It is recommended to download the latest master and run Apache RAT tool on the to-be-released code base to fix any missing Apache License headers.
Running Apache RAT tool
Clone the latest master: git clone https://github.com/apache/incubator-myriad.git
Get Apache RAT jar: wget http://central.maven.org/maven2/org/apache/rat/apache-rat/0.11/apache-rat-0.11.jar
Add any missing Apache License headers: java -jar apache-rat-0.11.jar incubator-myriad/ -a -f
Verify if RAT has added any license headers: cd incubator-myriad ; git status
If any of the sources had missing license headers, submit a PR.
Note:
- Here are guidelines on which sources should have the license headers.
Preparing a Release Candidate
Run the "prepare_rc.sh" script to tag a release candidate (RC) on github, sign and upload the RC artifacts to dev SVN: https://dist.apache.org/repos/dist/dev/incubator/myriad/
Voting
The Apache Myriad PPMC should approve a release candidate. A call for vote should should be sent to dev@incubator.myriad.apache.org. Sample Myriad PPMC vote email for 0.1.0 RC3.
Once the Myriad PPMC successfully votes,
- A vote result email should be sent to dev@incubator.myriad.apache.org summarizing the vote. Sample Myriad PPMC vote result email for 0.1.0 RC3.
- A call for vote should be sent to general@incubator.apache.org for IPMC's approval. This email should quote the above PPMC vote result. Sample IPMC vote email from 0.1.0 release.
- Send a vote result email to general@incubator.apache.org after a successful vote. Sample IPMC vote result email for 0.1.0 release.
Post Voting Actions
Once the Apache IPMC successfully votes,
- Run the "release.sh" script to tag the successfully voted RC "as the release". This script
- Creates a new github tag for the release.
- Removes the "RC" tags that were added during voting.
- Uploads the "release" artifacts to release SVN: https://dist.apache.org/repos/dist/release/incubator/myriad/
- Deletes the "RC" artifacts from dev SVN: https://dist.apache.org/repos/dist/dev/incubator/myriad/
- Make all the JIRAs marked for this release are resolved. Add the "release date" against the released version.
- Make sure the release is available for download from http://myriad.incubator.apache.org/downloads/.
- Do a blog post and party!
Useful Links