Building a release for vote:
- Grab a clean checkout for safety.
- Run: “git checkout ${BRANCH}” if needed.
- Update the versions:
- Run: “scripts/version.sh ${VERSION}”, e.g: scripts/version.sh 0.18.0
- 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
- Run: “scripts/export.sh $PWD ${TAG}” to create the qpid-proton-${VERSION}.tar.gz release archive.
- Create signature and checksum files 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”
- Push branch changes and tag.
- Also update versions to the applicable snapshot version for future work on it.
- Commit artifacts to dist dev repo in https://dist.apache.org/repos/dist/dev/qpid/proton/${TAG} dir.
- Send vote email, provide links to dist dev repo and JIRA release notes.
After a vote succeeds:
- Tag the RC with the final version.
- 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}
- Give the mirrors some time to distribute things. Can take 24hrs for good coverage.
- Update the website with release content.
- Send release announcement email.
- Clean out older release(s) from release repo as appropriate.