Improve release automation process
The problem
The release process currently roughly includes:
- Merge
developtomain - Wait for Actions to open a versioning pull request
- Merge the pull request
- Wait for versions to be released
- Merge
mainback todevelop
These steps are fairly manual, and step (4) currently attempts to do step (5) at the end but fails, leading to false positives for maintainers that the release process has actually failed. Step (5) is also forgotten with some regularity, despite being documented, because it comes after everything feels like it's "over with."
The solution
- Automate more of this process
- Remove opportunities for confusion
Additional information
The automated attempt at (5) contained in (4) may fail both because of branch protection rules and because of the Actions security model. We should take extra care to ensure that any automation we do will not allow changes from untrusted sources to be released or merged.
Constellate projects use a similar process. I'd be interested in following this issue to see what ya'll come up with for automation.