-
Couldn't load subscription status.
- Fork 8
Description
What's needed?
We need to simplify the release process, which still involves too many manual steps.
Proposed solution
The new release workflow should reverse the logic a bit, instead of tagging and that triggering the workflow that creates the GitHub release, and publishes docs and to PyPI, it should be triggered manually on a branch and take 2 optional fields:
- tag name (inferred from previous tags and branch names if missing)
- release notes (loaded from the release notes file if missing)
And what it does is:
-
Calculate the tag name to create
-
If release notes are provided, replace the current files with that and commit it with some standard "prepare release notes for
<tag>" message -
If release notes are not provided, look for empty release notes sections, remove them and commit with the same message
-
Create the tag
-
Do the current release workflow: build, test, create the GitHub release, and publishes docs and to PyPI
-
Clear the release notes, commit and push
-
If a milestone with name
<tag>exists:- Move all open issues to the next minor tag (create it if it doesn't exist)
- Close the milestone