- Grab a clean checkout for safety.
- Run: "git checkout ${BRANCH}" if needed to switch to branch of the intended release point.
- Update the versions etc:
- setup.py
- Commit the changes, tag them.
- Run: "git add ."
- Run: 'git commit -m "update versions for ${TAG}"'
- Run: 'git tag -m "tag ${TAG}" ${TAG}'
- Run: "python setup.py sdist" to create the qpid-python-${VERSION}.tar.gz release archive in the dist/ subdir.
- Create signature and checksum files for the archive:
- e.g "gpg --detach-sign --armor qpid-python-${VERSION}.tar.gz"
- e.g "sha512sum qpid-python-${VERSION}.tar.gz > qpid-python-${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/python/${TAG} dir.
- Send vote email, provide links to dist dev repo and JIRA release notes.
- If needed, tag the RC bits with the final name/version.
- Commit the artifacts to dist release repo in https://dist.apache.org/repos/dist/release/qpid/python/${VERSION} dir:
- e.g: svn cp -m "add files for qpid-python-${VERSION}" https://dist.apache.org/repos/dist/dev/qpid/python/${TAG}/ https://dist.apache.org/repos/dist/release/qpid/python/${VERSION}/
- Give the mirrors some time to distribute things. Usually 24hrs to be safe, less if needed.
- https://www.apache.org/mirrors/ gives stats on mirror age + last check etc.
- Update the website with release content.
- Send release announcement email.