In this phase, we decide which commits will go into the release. We publish dev artifacts and the community votes if it should progress to a final release. Releases have a version (x.y.z) and candidates have a candidate version (rcX). See this SO post about version naming. There can be multiple candidates but only one release.
b. Make a vote on the Release Candidate
There is a template for creating these emails here. Otherwise, follow these guidelines:
- Have a subject that starts with "[VOTE]"
- Explain what the vote is about
- Explain how to find the artifacts for testing, and include the tag and git tree hash (not release hash!) they correspond to. The tree hash can be viewed with git log --pretty="%T %s".
- Explain what each type of vote means
- Explain the conditions for the vote passing, including how long the vote will remain open for.
- Include a link to this wiki page so voters can read the instructions in it on how to test, verify, and vote.
- Explain how you tested it.
- At your discretion, discuss what dependencies or tools you used to compile or run it, like gcc, and so on.
2. Release Phase
If the vote passes, and Quickstep has yet to graduate, take a vote in the incubator PMC, following current incubator policy.
- Subscribe to firstname.lastname@example.org by sending mail to general-subscribe@ and responding to the email it sends back.
- Send an email to that list including:
- Subject "[VOTE] quickstep x.y.z release candidate w"
- A link to the archive of the proposal thread from the dev@impala mailing list, available either mail-archives or apache-lists.
- A link to the archive of the [RESULT] of the vote from the dev@quickstep mailing list.
- A link to the artifacts for testing
- A link to the KEYS file with the signatures
- A link to the git tag the release candidate tarball was created from
- The tree hash of the git commit the release candidate tarball was created from
- Instructions on using RAT on our code, or a description of where to find that information.
- Build instructions, or a description of where to find that information.
- A list of the IPMC members who have already +1ed. For instance, as of 28 September 2016, all of our mentors are IPMC members, so their +1s are good for either vote - the one with the PPMC or the one with the IPMC.
This vote will be open for at least 72 hours, or until the necessary number of votes (3 +1) is reached. [ ] +1 Approve the release [ ] -1 Don't approve the release (please provide specific comments)
Like with the dev@ vote, post a "[RESULT]" thread to general@ with the results.
Once that vote passes, tag the git tree at the release:
git fetch apache
git checkout apache
git tag -a x.y.z -m
git push apache x.y.z
Publish the release. While incubating, the location is this repo. Upload all four artifacts.
svn checkout https:
svn add .
svn commit --username=YOUR_APACHE_USER_NAME
# You will be prompted to write a commit message. Make it look like (without the '#'s):
# Quickstep release x.y.z
# PPMC vote thread: ...
# PPMC vote results thread: ...
# IPMC vote thread: ...
# IPMC vote results thread: ...
- Wait 24 hours for mirrors to catch up.
- Push your patch to the downloads.html page.
- Announce the release to email@example.com, firstname.lastname@example.org, and email@example.com. The email must come from your apache.org email address.
- If you are not already subscribed from your @apache.org address, subscribe to dev@ and user@ by mailing dev-subscribe@ and user-subscribe@.
Give your email a subject like "[ANNOUNCE] Apache Quickstep (incubating) x.y.z release", and include in the body:
The Apache Quickstep (incubating) team is pleased to announce the release of Quickstep x.y.z. Quickstep is a high-performance C++ SQL query engine. The release is available at: https://quickstep.incubator.apache.org/release Thanks, The Apache Quickstep (incubating) team ===== *Disclaimer* Apache Quickstep is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
- Announce the release on the community links listed on https://quickstep.apache.org/community.html.
- Send a patch review to the master branch to update its version number to "p.q.r-SNAPSHOT" (where p.q.r is greater than x.y.z)
- In the bug tracker, change the target version for bugs targeted at x.y.z to p.q.r. You may need to create a version p.q.r if it does not already exist.
DRAFT: How to Release - Impala's release guide which we liberally borrowed from.