Go Wiki: 园艺
什么是园艺?
在开源项目中,“园艺”指的是为了保持项目健康、持续发展和美观而进行的后台维护工作。
本页列出了常见的 Go 园艺任务。
访问权限
如果您在 Go 社区中活跃了一段时间,请随时申请 Gerrit 和/或 GitHub 访问权限以修改内容。
参见 GerritAccess 和 GitHubAccess。
园艺任务
在进行任何园艺工作之前,尤其是在问题跟踪器上,请记住熟悉问题生命周期,此处有详细描述:处理问题 - 问题状态。
修复红色(构建失败)
查看 https://build.golang.org/ — 有什么显示为红色吗?修复或提交 bug,或催促相关人员。构建仪表板永远不应该显示为红色,即使是偶尔。如果构建树是红色的,人们将无法有效工作,因为 TryBots 等工具只会报告失败,从而掩盖其他问题。
分类新 bug
查看 未分类问题。对于 Go,我们使用特定标签(Needs*
或 WaitingForInfo
)来表示一个问题已被分类。已标记 Go2
、Proposal
、Telemetry-Proposal
、CherryPickCandidate
、gopls
、pkgsite
的问题有各自独立的分类队列,可以跳过。
在分类 bug 时
- 是否重复?关闭它,并引用重复项。
- 这是一个问题而不是 bug?回复类似“关于 Go 的问题,请参见 https://golang.ac.cn/wiki/Questions"。”
- 主题格式是否正确?应以包路径开头,后跟冒号:“net/http: 修复 Server 在 foo 操作期间崩溃”。
- 是否在子仓库中?将里程碑保留为
Unreleased
,除非它是一个会进入发布版的子仓库,例如http2
。 - 如果这是一个回归,并且您能够重现它,请使用
git bisect
查找导致问题的提交(可选但非常有帮助)。 - 相关包 是否有主要负责人?在评论中提及他们。如果没有,则添加
help wanted
标签。 - 如果相关包没有负责人,但看起来复杂且技术性很强,请添加
ExpertNeeded
标签。
问题分类后,添加适当的标签(根据 HandlingIssues)以进行标记。
等待信息 (WaitingForInfo)
查找状态为 WaitingForInfo 的 bug(https://github.com/golang/go/labels/WaitingForInfo)并发送 ping,在收到回复时移除标签,或者在从未收到回复时关闭 bug。
“未计划”的 bug
“未计划”的问题往往会被忽视。查看旧问题,看看它们是否容易修复(并可以移至 Go1.n 或 Go 1.nMaybe 里程碑),或者是否应该关闭。
待处理的 CL (Pending CLs)
检查提交消息的格式、测试的存在、代码的格式以及待处理的 CL 中的拼写/语法错误。所有这些都可以在不确定更改本身正确性的情况下完成。请参阅 https://dev.golang.org/release 查看待处理 CL 的列表。
一旦获得 +1,该区域的负责人就可以给出 +2。
将 +1 理解为“已分类”或“明显没有问题”。如果它有测试、格式正确(可能引用了 bug 编号),并且已准备好进行进一步评审,请给出 +1。
待处理的 CL:询问测试
如果新的 CL 没有测试,但应该有测试,请询问是否可以添加测试。或者提出建议。
待处理的 CL:运行 TryBots
如果您有权限(参见 GerritAccess)运行 TryBots,并且看到一个包含合理(且非恶意)代码的 CL,请启动 TryBots。(我们从未见过试图逃脱 TryBot 沙盒的恶意代码,但这正是它尚未自动化的原因。如果您看到任何内容,请通知我们。)
此内容是 Go Wiki 的一部分。