Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version number patches

...

  1. Make a code signing key if you don't have one yet
    1. Publish your key if you haven't done so yet
  2. If you haven't done so yet, add yourself to the Apache Web-of-Trust by meeting face-to-face with a person so they can sign your key
    1. Publich your new signed key
  3. If you haven't done so before, add your key to the KEYS file in the release staging area and the release distribution area
    1. The staging area is https://dist.apache.org/repos/dist/dev/incubator/impala/. Once graduated, it will presumably be https://dist.apache.org/repos/dist/dev/impala/
    2. The release area is https://dist.apache.org/repos/dist/release/incubator/impala/, and will presumably be https://dist.apache.org/repos/dist/release/impala/ after graduation.
  4. Pick a commit you want to release from and test it.
  5. Propose a release on the dev@ list. It should start with the string "\[DISCUSS]". Propose a 
  6. Make a new branch off of your commit called "branch-x.y.z", where x.y.z is the version you want to release
    1. In this branch (but not in master, update the version number to x.y.z)
  7. Continue testing it. If you find bugs, file them. When they are fixed, cherry-pick the fixes from master to your branch that you want to include in the release:
    1. Code Block
      languagebash
      git checkout apache/branch-x.y.z
      git checkout -b x.y.z-patch-foo
      git cherry-pick b4d1a3
      git push apache HEAD:branch-x.y.z
    2. At that time, tag the tree at the release candidate
  8. Make a tarball and add it to dev/ with SVN. Also add your signature, as well as md5 and sha1 checksums.
    1. Make the tarball using git archive. Name it apache-impala-incubating-x.y.z.tar.gz, or apache-impala-x.y.z.tar.gz if Impala has graduated from the incubator.
    2. 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.
    3. While incubating, the location is https://dist.apache.org/repos/dist/dev/incubator/impala/. Once graduated, it will presumably be https://dist.apache.org/repos/dist/dev/impala/
  9. Get informal feedback on your release candidate from the dev@ list.
    1. If you need to make changes, you can cherry-pick commits from master.
    2. If you have made changes, upload new release candidates - don't overwrite old ones.
  10. Take a vote on dev@. Your vote email should:
    1. Have a subject that starts with "\[VOTE]"
    2. Explain what the vote is about
    3. Explain how to find the artifacts for testing, and what each type of vote means
    4. Explain the conditions for the vote passing, including how long the vote will remain open for.
    5. Include a link to this wiki page so voters can read the instructions in it on how to test, verify, and vote. 
    6. Be consistent with the Impala bylaws. For instance, at the moment I am writing this wiki page, votes stay open for 72 hours.
  11. If the vote passes, and Impala has yet to graduate, take a vote in the incubator PMC, following current incubator policy.
  12. Publish the release.
  13. 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)

PMC member

  1. Download the tarball. Check the signature and the checksums.
  2. Test it 
  3. Check compliance with ASF release policy. Use Apache RAT and follow the instructinos in bin/check-rat-report.py
  4. Vote

...