HeyDeer Review 检查
HeyDeer 会把每次审查作为一个名为 HeyDeer Review 的 GitHub 检查,报告在所审查的提交上。该检查包含摘要和完整的审查结果,你可以要求合并前必须通过它。
检查显示的内容
检查会显示审查进度,然后以下列结论之一结束。点击它的“Details”链接会在 HeyDeer 中打开该审查。
摘要开头列出发现的问题数量、先前未解决的讨论数量和未通过的仓库检查数量,并说明后续审查是否只覆盖了自 HeyDeer 上次审查以来的改动。检查页面随后显示完整的审查结果:警告、每个问题、讨论中决定不处理的疑虑,以及开启“自动批准”时的批准决定。参见解读审查结果。
结论
| 结论 | 标题 | 何时出现 |
|---|---|---|
| 成功 | Review completed — no issues found / Review completed with findings | 没有问题,或有问题但“发现问题时将检查标记为失败”已关闭。 |
| 中性 | Review completed with warnings / Review completed with findings | 审查有警告,且该设置已关闭。 |
| 失败 | Review found issues that need attention / Review incomplete | 有问题或警告,且该设置已开启。如果有仓库检查或先前发现的问题未被评估,无论该设置如何,也会显示“审查未完成”。 |
| 失败 | Review could not run / Review failed | HeyDeer 无法开始或完成审查。摘要会说明原因。 |
| 超时 | Review timed out | 审查超时。 |
| 已取消 | Review cancelled / Review superseded | 审查已取消,或结果针对的是较旧的提交或目标分支。 |
| 已跳过 | Review skipped / No reviewable files | 你的自动审查筛选条件排除了该 PR(默认排除草稿),或所有改动的文件都在审查范围之外。 |
| 已跳过或需要操作 | Review skipped / Review required | 该提交未被自动审查,例如设置为“仅手动”、“每个 PR 审查一次”已用掉那次审查,或积分用完时。该设置开启时显示为“需要操作”。 |
如果提交未被审查或审查未完成,摘要会说明下一步怎么做,通常是评论 @heydeer review。
发现问题时将检查标记为失败
此设置默认关闭,因此已完成的审查即使报告了问题也会通过。可在“发布结果”下开启;参见发布结果。
这里的问题是指审查反馈范围内发现的问题(包括讨论中已提出的问题),以及 HeyDeer 之前仍未解决的讨论。有写权限的人已决定不处理的疑虑不计入。参见后续审查。
要求合并前通过检查
- 先让 HeyDeer 在该仓库中审查至少一个 PR,这样检查才会存在。
- 在 GitHub 中,打开目标分支的分支保护规则或规则集,开启必需的状态检查(required status checks)。
- 添加 HeyDeer Review,并选择 HeyDeer 作为其来源。
- 开启“发现问题时将检查标记为失败”。否则,即使审查报告了问题,检查也会通过。
GitHub 将成功、中性和已跳过视为通过,将失败、需要操作、超时和已取消视为阻止合并。HeyDeer 在仓库中发布检查后,每次 PR 更新都会得到检查结果,因此必需的检查不会无限等待。在合并队列中,该检查会确认队列中的每个 PR 都满足其审查要求,不会审查合并后的代码,也不消耗积分;你的 CI 仍应检查合并组。
在设置为“仅手动”的仓库中,HeyDeer 在首次审查之前不会发布检查。参见自动审查。
从检查发起审查
“Re-run”、“Re-run all”和“审查此版本”按钮的作用,都等同于由点击者针对该检查的提交评论 @heydeer review。当下一步应进行审查时,会显示“审查此版本”。参见 PR 评论命令。