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.Info icon false smarella:~/myriad$ gpg --gen-key
....
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
....Add your GPG public key to the Apache Myriad dist repository in the KEYS file.
Info icon false a) Fetch the svn repository: svn co https://dist.apache.org/repos/dist/dev/incubator/myriad/
b) Append your public key using one of methods described in KEYS: (gpg --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS
c) Push the commit: svn ci
- Submit your GPG public key to a keyserver, e.g. MIT PGP Public Key Server.
Add your GPG fingerprint to your Apache account.
Info icon false smarella:~/myriad$ gpg --list-keys --fingerprint
/home/smarella/.gnupg/pubring.gpg
---------------------------------
pub 4096R/B26811FB 2015-10-20
Key fingerprint = 5FB7 1C05 A37A 7818 BA60 915E 095F 054C B268 11FB
uid Santosh Marella <marella@gmail.com>
sub 4096R/5E42CE0D 2015-10-20
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.
Info | ||||
---|---|---|---|---|
| ||||
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:
|
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:
Signing a Release Candidate
Publishing a Release Candidate
Voting
Post Voting Actions
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@myriad.incubator.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
...