bazel-contrib / bazel-contrib/rules_python
Create a program to handle release chores
- Dominant language
- Starlark
- Stars
- 688
- Forks
- 721
- Avg merge
- 14h 49m
- Merged PRs (30d)
- 81
Description
There's a few tedious and mechanical steps for our release process around replacing
strings and updating docs. See RELEASING.md for all the steps.
It should be relatively easy to create a program that does the various string processing. The basic logic it needs to do is:
* Update CHANGELOG.md
* Replace the "Unreleased" title with `[X.Y.Z] - YYYY-MM-DD`
* Replace `0.0.0` with X.Y.Z
* Replace `v0-0-0` with `vX-Y-Z`
* Caveat: don't modify the "unreleased template" that is commented out.
* Replace `VERSION_NEXT_*` markers
* caveat: don't replace them in CONTRIBUTING.md, RELEASING.md, and `.*` dirs (.githhub etc)
Something more advanced could look at which `VERSION_NEXT_{FEATURE,PATCH}` markers exist to figure out the next semantic version, but that's just a nice to have.
Just being able to do `tools/private/release.py 1.4.0` would be a big improvement over all the ad-hoc stuff we have to do today.
Contributor guide
Assessment
This issue has not been assessed yet.