bazel-contrib / bazel-contrib/rules_python

Create a program to handle release chores

Open
#2,790 3 comments 0 reactions 0 assignees View on GitHub
cleanup Good first issue type: process
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.