- Create a new branch for this release:
git checkout -b releasev0.X.Y
- Update release version in
./docs/whats-new.rst
- Increase release version in
./setup.py
- Create a PR to prepare it, name it with one of the Nature emoji and make sure it was never used before
- Run codespell from repo root and fix errors:
codespell -q 2
- Run flake8 from repo root and fix errors
- Manually trigger upstream CI tests for the release branch and ensure they are passed
- Update pinned dependencies versions in
./ci/requirements/py*-*-pinned.yml
environment files using upstream CI tests information - Possibly update
./requirements.txt
and./docs/requirements.txt
if the oldest dependencies versions were upgraded - Make sure that all CI tests are passed
- Activate and make sure the documentation for the release branch is built on RTD
- Merge this PR to master
- Update release date in
./docs/whats-new.rst
- Make sure all CI tests are passed and RTD doc is built on the master branch
- "Draft a new release" on GitHub.
Choose a release tag v0.X.Y, fill in the release title and click on the
Auto-generate release notes
button.
This will trigger the publish Github action that will push the release on Pypi. - Last check the
./setup.py
file version of the release and that the documentation is ready - Publish !
- Checkout on Pypi and Conda that the new release is distributed.