bazel-contrib / bazel-contrib/rules_python

Create a program to handle release chores

未关闭
#2,790 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
cleanup Good first issue type: process
主要语言
Starlark
星标
688
派生
721
平均合并
15 小时 7 分钟
30 天内合并 PR
76

描述

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.

贡献指南

打开贡献指南

调研方向

阅读 RELEASING.md 了解完整的发布流程,然后使用 tools/private/release.py 作为指定的入口点。程序应接受类似 1.4.0 的版本号,更新 CHANGELOG.md 和符合条件的 VERSION_NEXT_* 标记,同时保留列出的排除项,并保持已注释的未发布模板不变。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
release, tooling
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
50/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。