Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You will create a release branch if this is the first release candidate. Otherwise, checkout the current release branch.

 

git checkout $COMMIT_HASH_YOU_CHOSE
git checkout -b branch-x.y.z
git push apache branch-x.y.z
ii. Branch and tag the commit

Test the branch and add commits as needed. If you are on a non-supported platform (mac), use a linux box or docker to test your release. A quickstep Dockerfile can be found here. Once you are happy with the candidate, tag the branch and push the update.
 
git fetch apache # to make sure you have the latest master
git checkout apache/branch-x.y.z
git checkout -b x.y.z-patch-foo # the name doesn't matter - it will only be in your local workstation
git cherry-pick b4d1a3... # or whatever git hashes
# then resolve conflicts, if there are any
# cherry-pick some more commits:
git cherry-pick ....
git cherry-pick .....
git push apache HEAD:branch-x.y.z
Do the tag
git fetch apache
git checkout apache/branch-x.y.z
git tag -a x.y.z-rcw -m "x.y.z release candidate w" # when making release candidate w of version x.y.z
git push apache x.y.z-rcw
iii. Create the release artifacts

This step involves several steps. First, you create the tarball. Next you will create hashes, and a signature. Full details are provided in the script.
iii. Publish the release artifacts to the dev SVN repo
svn checkout https://dist.apache.org/repos/dist/dev/incubator/quickstep/
cd quickstep/
# The directory layout is x.y.z/RCw, where w is the release candidate number - RC1 is the first candidate, RC2 the second, and so on.
mkdir -p x.y.z/RCw
cd x.y.z/RCw
cp /tmp/apache-quickstep-incubating-x.y.z.tar.gz* ./
svn add .
svn commit --username=YOUR_APACHE_USER_NAME -m "Quickstep-x.y.z RCw"

b. Make a vote on the Release Candidate

...

    1. Have a subject that starts with "[VOTE]"
    2. Explain what the vote is about
    3. Explain how to

...

    1. 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".
    2. Explain what each type of vote means
    3. Explain the conditions for the vote passing, including how long the vote will remain open for.
    4. Include a link to this wiki page so voters can read the instructions in it on how to test, verify, and vote. 
    5. Explain how you tested it.
    6. At your discretion, discuss what dependencies or tools you used to compile or run it, like gcc, and so on.

DRAFT: How to Release - Impala's release guide which we liberally borrowed from.

...

Content by Label
showLabelsfalse
max5
spacesQUICKSTEP
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "release" and type = "page" and space = "QUICKSTEP"
labelsrelease

...