Release Process#
Decide to do a release, and check with regular contributors on Discord that they don’t have anything pending.
Ensure version pins in pyproject.toml and conda-environment.yml are in sync and up to date, and refresh uv.lock.
uv lock
Create a new Tag and Draft Release using the GitHub Releases Web UI
Based on the generated release notes from GitHub, update the release notes in about/whats_new.rst and the fallback version number in pyproject.toml in the
develop
branch via a PR.Change the Draft Release to Published using the GitHub Releases Web UI
Wait for the GitHub Action to run and publish the new release to PyPI
Wait for the conda-forge bot to notice the new PyPI version and create a PR against the conda-forge datacube feedstock
Fix any errors and merge the PR created by the conda-forge bot to create a new conda-forge release.
Manually update the
stable
branch:git checkout <release tag>
git push –force origin stable
Post release announcements on Slack, Discord, and social media platforms.
Kick back, relax, and enjoy a tasty beverage.