Building a release for vote:

  1. Grab a clean checkout for safety.
  2. Run: “git checkout ${BRANCH}” to switch to a branch of the intended release point.
  3. Update the versions:
  • Run: “bin/version.sh ${VERSION}”, e.g: bin/version.sh 0.18.0
  • Update the version(s) if needed in file: proton-c/bindings/python/docs/conf.py
  1. Commit the changes, tag them.
  • Run: “git add .”
  • Run: ‘git commit -m “update versions for ${TAG}”’
  • Run: ‘git tag -m “tag ${TAG}” ${TAG}’, e.g: git tag -m “tag 0.18.0-rc1” 0.18.0-rc1
  1. Run: “bin/export.sh $PWD ${TAG}” to create the qpid-proton-${VERSION}.tar.gz release archive.
  2. Create signature and checksums for the archive:
  • e.g “gpg --detach-sign --armor qpid-proton-${VERSION}.tar.gz”
  • e.g “sha512sum qpid-proton-${VERSION}.tar.gz > qpid-proton-${VERSION}.tar.gz.sha512”
  • e.g “md5sum qpid-proton-${VERSION}.tar.gz > qpid-proton-${VERSION}.tar.gz.md5”
  1. Push branch changes and tag.
  • Also update versions to the applicable snapshot version for future work on it.
  1. Commit artifacts to dist dev repo in https://dist.apache.org/repos/dist/dev/qpid/proton/${TAG} dir.
  2. Send vote email, provide links to dist dev repo and JIRA release notes.

After a vote succeeds:

  1. Tag the RC with the final version.
  2. Add the artifacts to dist release repo: svn cp -m “add files for qpid-proton-${VERSION}” https://dist.apache.org/repos/dist/dev/qpid/proton/${TAG} https://dist.apache.org/repos/dist/release/qpid/proton/${VERSION}
  3. Update the ‘latest’ link in https://dist.apache.org/repos/dist/release/qpid/proton/.
  4. Give the mirrors some time to distribute things. Can take 24hrs for good coverage.
  1. Update the website with release content.
  2. Send release announcement email.