任何人均可评审文档的拉取请求。 访问 Kubernetes 网站仓库的 pull requests 部分, 可以查看所有待处理的拉取请求(PR)。
评审文档 PR 是将你自己介绍给 Kubernetes 社区的一种很好的方式。 它将有助于你学习代码库并与其他贡献者之间建立相互信任关系。
在评审之前,可以考虑:
在你开始评审之前:
一般而言,应该使用英语来评审 PR 的内容和样式。 图 1 概述了评审流程的各个步骤。 每个步骤的详细信息如下。
图 1. 评审流程步骤。
前往 https://github.com/kubernetes/website/pulls, 你会看到所有针对 Kubernetes 网站和文档的待处理 PR。
使用以下标签(组合)对待处理 PR 进行过滤:
cncf-cla: yes(建议):由尚未签署 CLA 的贡献者所发起的 PR 不可以合并。
参考签署 CLA 以了解更多信息。language/en(建议):仅查看英语语言的 PR。size/<尺寸>:过滤特定尺寸(规模)的 PR。
如果你刚入门,可以从较小的 PR 开始。此外,确保 PR 没有标记为尚未完成(Work in Progress)。
包含 work in progress 的 PR 通常还没准备好被评审。
选定 PR 评审之后,可以通过以下方式理解所作的变更:
前往 Files changed Tab 页面,开始你的评审工作。
点击你希望评论的行旁边的 + 号。
填写你对该行的评论, 之后选择 Add single comment(如果你只有一条评论) 或者 Start a review(如果你还有其他评论要添加)。
评论结束时,点击页面顶部的 Review changes。 这里你可以添加你的评论结语(记得留下一些正能量的评论!)、 根据需要批准 PR、请求作者进一步修改等等。 新手应该选择 Comment。
评审 PR 时可以从下面的条目入手。
考虑做一些检查:
PR 是否改变或者删除了某页面的标题、slug/别名或者链接锚点? 如果是这样,PR 是否会导致出现新的失效链接? 是否有其他的办法,比如改变页面标题但不改变其 slug?
PR 是否引入新的页面?如果是:
变更是否正确出现在 Netlify 预览中了? 要对列表、代码段、表格、注释和图像等元素格外留心。
对于涉及网站框架的变更(例如 Hugo 升级、Docsy 主题更新), 评审人必须要求 PR 作者确认站点在生产模式下的构建无错误,或者评审人自行进行验证。 这是必要的,因为自动化的 Netlify 预览可能无法捕捉某些仅在完整生产构建过程中触发的资源转换或路径解析错误。
评审人可以通过以下方法之一验证构建:
基于容器(推荐): 无需在本地安装 Hugo,即可确保环境一致性。
默认的 container-serve 目标在开发模式下运行。
若要进行等同于生产环境的构建,请临时编辑 Makefile,
将 container-serve 目标中的 --environment development
修改为 --environment production,然后运行:
make container-image
make container-serve
**通过 Make 使用本地 Hugo:**使用现有的 Makefile 目标进行生产构建。 请注意,这会执行完整构建,速度比启动站点服务更慢。
make production-build
**直接使用 Hugo 命令:**这是在不启动站点服务的情况下执行生产构建的最快方式。
hugo --gc --minify --templateMetrics --environment production
成功构建将显示如下汇总表:
| EN | ZH-CN | JA | ...
---+------+-------+-----+
Pages | 2601 | 2148 | 747 | ...
Built in 95753 ms
Environment: "production"
如果构建失败,你将看到明确的 ERROR 日志; 例如,短代码或资源转换失败可能类似如下:
ERROR render of "page" failed: "/src/layouts/shortcodes/cve-feed.html:3:14":
execute of template failed: template: shortcodes/cve-feed.html:3:14:
failed to transform "scss/main.scss" (text/x-scss): SCSS processing failed
请查看 Netlify 预览以了解该错误在站点上的呈现方式。 如果生产构建失败,在作者修复相关转换或模板错误之前,不得合并该 PR。
欢迎通过 Google Doc 或 HackMD 对博文提供早期反馈。请尽早通过 #sig-docs-blog Slack 频道请求输入。
在审查博客的拉取请求(PR)之前,请熟悉博客指南 和提交博文和案例分析。
确保你了解长期维护(Evergreen)文章, 并知道如何判断一篇文章是否应标记为长期维护。
博文可能包含直接引语和间接引语。 避免对任何归因于个人或已发生的部分对话提出修改建议,即使你认为原话的语法不正确,也不应该如此操作。 在这些情况下,也应尽量尊重文章作者的标点符号建议,除非是明显错误。
作为一个项目,我们只有在 Kubernetes 社区愿意长期维护某篇博文时,才会将其标记为长期维护
(即在 front matter 中设置 evergreen: true)。
有些博文绝对值得这样做,我们始终将发布公告标记为长期维护。
如果你不确定如何评审这部分内容,请咨询其他贡献者。
内容指南无条件适用于博文及相关 PR。 请注意,该指南中的某些限制仅适用于文档,而不适用于博文。
检查 Markdown 源文件是否使用了正确的页面内容类型和/或 layout。
查阅 Trivial Edits; 如果你看到某个变更在你看来是一个 Trivial Edit,请向作者指明这项政策(如果该变更确实会有所改进,那仍然可以接受)。
鼓励作者们在第一次发 PR 时修复一些空格相关的问题,在随后的 PR 中增加其他更改。 这样更便于合并和评审。尤其要注意在单个 commit 中大量空格清理附带的微小变更(如果你看到,请鼓励作者进行修复)。
作为一名 Reviewer,如果你发现 PR 有一些无关紧要的小问题,例如拼写错误或不正确的空格,
可以在你的评论前面加上 nit:。这样做可以让作者知道该问题不是一个不得了的大问题。
如果你正在考虑批准一个 PR,并且所有剩余的反馈都被标记为 nit,那么你确实可以合并该 PR。 在这种情况下,你需要针对剩余的 nit 发帖登记一个 Issue。 考虑一下是否能把这些新 Issue 标记为 Good First Issue。 如果可以,这就是这类 Issue 的良好来源。