- Create a Release Epic on ZenHub that will track the release issues and pull requests
- Create a "release candidate" branch (i.e. rc/0.16.2), and push to main fork (https://github.com/AllenInstitute/AllenSDK)
- Create a draft pull request for the release (i.e. Release Candidate 0.16.2)
- Assign this draft PR to the Release Epic
- Assign a developer to be responsible for the release deployment
- Add the Project Owner as a reviewer
- Copy this checklist into the draft pull request description
- Update CHANGELOG.md: https://github.com/AllenInstitute/AllenSDK/blob/master/CHANGELOG.md
- Update "what's new" section of index.rst, if needed
- Rebase the release candidate branch, and force-push to the main fork
- Prepare the official release commit
- Bump version by updating version in init.py
- Add the release date to the CHANGELOG.md and index.rst files
- Change the draft to pull request to "ready for review"
- Code Review with the Project Owner
- Merge when it is ready; this will generate a merge commit, and this commit will be the official release commit.
- Confirm that this official release commit passes all continuous integration:
- Create a Release: https://github.com/AllenInstitute/AllenSDK/releases <"Draft a new release" button>
- Create a draft release
- Review the release with the Project Owner
- Publish the release
- Push to pypi
- After release/deployment, merge master back into internal
- Create a new page for the release notes on the wiki: https://github.com/AllenInstitute/AllenSDK/wiki
- Announce release on https://community.brain-map.org
- Announce release on https://gitter.im/AllenInstitute/AllenSDK