- Grab a clean checkout for safety.
- Run: "git checkout ${BRANCH}" to switch to a branch of the intended release point.
- Update the versions:
- Run: "bin/version.sh ${VERSION}", e.g. bin/release.sh 0.12.2.
- Update the version if needed in file: proton-c/bindings/python/setuputils/bundle.py
- Commit the changes, tag them.
- Run: "git add ."
- Run: 'git commit -m "update versions for ${TAG}"'
- Run: 'git tag -m "tag $TAG" $TAG'
- Push changes. Optionally save this bit for later.
- Run: "bin/export.sh
$PWD $ {TAG}" to create the qpid-proton-${TAG}.tar.gz release archive. - Rename and create signature and checksums for the archive:
- e.g "mv qpid-proton-${TAG}.tar.gz qpid-proton-${VERSION}.tar.gz"
- e.g "gpg --detach-sign --armor qpid-proton-${VERSION}.tar.gz"
- e.g "sha1sum qpid-proton-${VERSION}.tar.gz > qpid-proton-${VERSION}.tar.gz.sha1"
- e.g "md5sum qpid-proton-${VERSION}.tar.gz > qpid-proton-${VERSION}.tar.gz.md5"
- Deploy the Java binaries to a staging repo:
- Run: "tar -xzf qpid-proton-${VERSION}.tar.gz"
- Run: "cd qpid-proton-${VERSION}"
- Run: "mvn deploy -Papache-release -DskipTests=true"
- Close the staging repo:
- Log in at https://repository.apache.org/index.html#stagingRepositories
- Find the new 'open' staging repo just created and select its checkbox.
- Click the 'close' button, provide a description, e.g "Proton ${TAG}" and close the repo.
- Wait a few seconds, hit the 'refresh' button and confirm the repo is now 'closed'.
- Click on the repo and find its URL listed in the summary.
- Commit artifacts to dist dev repo in https://dist.apache.org/repos/dist/dev/qpid/proton/${TAG} dir.
- Send email, provide links to dist dev repo and the staging repo.
- Bump the master/branch version to next 0.x.y-SNAPSHOT if it wasnt already.
- Tag the RC with the final name/version.
- Commit the artifacts to dist release repo in https://dist.apache.org/repos/dist/release/qpid/proton/${RELEASE} dir:
- Rename the files to remove the RC suffix.
- Fix filename within .sha and .md5 checksums or regenerate.
- Update the 'latest' link in https://dist.apache.org/repos/dist/release/qpid/proton/.
- Release the staging repo:
- Log in at https://repository.apache.org/index.html#stagingRepositories
- Find the 'closed' staging repo representing the RC select its checkbox.
- Click the 'Release' button and release the repo.
- Give the mirrors some time to distribute things.
- Update the website with release content.
- Update development roadmap.
- Send release announcement email.