Release Process¶
Coordinate¶
- Make sure to merge all PRs intended to be included into a new PR and communicate to the authors of the linked issues that the respective PR have been completed
Prepare Release PR¶
-
Checkout the
mainbranch locally and pull the recent changes locally fromPyPSA-Earthupstream. -
Checkout a new release branch
git checkout -b release-v0.x.x. -
Review and finalise release notes at
doc/release_notes.rst. -
Make sure that locked versions of the environments
*-plock.yamlinenvsfolder, as well aspixi.lockare up-to-date. -
Update version number in
default.config.yaml,tutorial.config.yamlandtest/config.*.yaml. -
Open a pull request for branch
release-v0.x.x, review and fix all remaining issues (usually, release notes require some additional attention). Runre-commit run --alllocally and fix any issues. -
Update and checkout your local
main. Add and push a release tag withgit tag v0.x.x,git push,git push --tags.
Prepare GitHub Release¶
-
Create a draft release using GitHub interface with
Draft releaseunder https://github.com/pypsa-meets-earth/pypsa-earth/releases. Review and fix the release notes. -
Generate draft release notes using Github UI for the release tag
tag v0.x.x. -
Merge the release pull request for branch
release-v0.x.x. -
Publish release using GitHub interface.
Announce and Celebrate¶
- Send announcement on the PyPSA-Earth Discord channel and LinkedIn.