-
Check that RELEASE.md contains the up-to-date release notes for the next release.
- They should cover all (non-GitHub-related) commits (PRs) on the
develop
branch since the most recent release. - They should make clear to users whether they might benefit from this release and what backwards incompatibilities they might face.
- They should cover all (non-GitHub-related) commits (PRs) on the
-
Bump the version numbers in the
develop
branch, in theVERSION
file and indoc/sphinx/conf.py
(example PR: #1666). Copy the RELEASE.md template for the following release-in-progress. -
Create a release PR from
develop
tomaster
.- Make a merge commit. DO NOT SQUASH-MERGE.
- If you squash-merge,
master
will be ahead of develop (by the squash-merge commit). This means we’ll end up with merge conflicts at the following release! - example PR: #1396
-
Go to the release page on GitHub and create a release for a tag “v{VERSION}” (e.g., for version 2.1.3 the tag needs to be
v2.1.3
) tomaster
branch. Copy the release notes into the description field! -
You are almost done now! Go to https://circleci.com and monitor that tests for your newly-created tag passed and the job for pushing the pip package succeeded. CircleCI matches on the “v{VERSION}” tag to kick-start the release process.
-
Take a break; wait until the new release shows up on PyPi.
Done done! Go and celebrate our hard work :)