HeyDeer Review 检查
HeyDeer 会在名为 HeyDeer Review 的 GitHub 检查中报告每次审查。了解检查结果的含义,以及如何让它阻止合并。
检查显示的内容
检查位于 HeyDeer 审查的提交上。它会显示审查进度,然后以下文的某个结论结束。点击它的 Details 链接,会在 HeyDeer 中打开该审查。
Autopilot 处理 PR 期间,该检查会一直保持进行中,直到 Autopilot 停止、HeyDeer 发布审查结果。
默认情况下,发现的问题不会让检查失败。如需在问题修复或被决定不处理之前阻止合并,请开启发现问题时将检查标记为失败,并将检查设为必需。
摘要开头列出发现的问题、仍未解决的此前问题和失败的仓库检查的数量。对于后续审查,摘要还会说明 HeyDeer 是否只审查了自上次审查以来的改动。
摘要下方是完整的审查内容:审查说明、每个发现的问题、已在讨论中决定不处理的问题,以及开启自动批准时的批准决定。参见解读审查结果。
要求合并前通过检查
- 先让 HeyDeer 在该仓库中至少审查一个 PR,这样检查才会出现。
- 在 GitHub 中,打开目标分支的分支保护规则或规则集,开启必需的状态检查(required status checks)。
- 添加 HeyDeer Review,并选择 HeyDeer 作为其来源。
- 在 HeyDeer 的工作区设置 → 审查规则 → 发布结果中,或在某个仓库的审查规则中,开启发现问题时将检查标记为失败。
GitHub 将 Success、Neutral 和 Skipped 视为通过,将 Failure、Action required、Timed out 和 Cancelled 视为阻止合并。
HeyDeer 在仓库中发布检查后,每次 PR 更新都会得到检查结果,所以必需检查不会一直卡在等待状态。
在设置为仅手动的仓库中,HeyDeer 在首次审查之前不会发布检查。参见自动审查。
如果没有出现检查,参见故障排除。
发现问题时将检查标记为失败
此设置默认关闭,因此已完成的审查即使报告了发现的问题,检查也会通过。
开启后,反馈范围内发现的问题(包括关联到已有讨论的问题),以及仍未解决或尚未确认的此前问题,都会让检查失败。有写权限的人已决定不处理的问题不计入。参见此前的问题。
带有审查说明的审查也会失败。部分未被自动审查的提交会显示 Action required,而不是 Skipped;参见结论。
结论
| 结论 | 标题 | 何时出现 |
|---|---|---|
| Success | 审查完成,未发现问题 / 审查完成,发现了问题 / 此前的问题需要确认 / 审查完成,附有审查说明 | 审查完整,且没有需要澄清的内容。关闭发现问题时将检查标记为失败时,也包括有发现的问题或此前问题的审查。 |
| Neutral | 审查未完成 / 审查完成,发现了问题 / 审查有待澄清的事项 | 有疑问需要澄清(无论该设置如何),或审查带有审查说明且发现问题时将检查标记为失败已关闭。 |
| Failure | 审查发现了需要处理的问题 / 此前的问题需要确认 / 审查未完成 / 审查无法运行 / 审查失败 | 开启发现问题时将检查标记为失败时:有发现的问题、此前的问题或审查说明。无论该设置如何:有仓库检查未运行、有此前的问题未被重新检查,或 HeyDeer 无法开始或完成审查。 |
| Timed out | 审查超时 | 审查超时。 |
| Cancelled | 审查已取消 / 审查结果已失效 | 审查已被取消;或者目标分支发生了变化,或已没有打开的 PR 以此提交作为最新提交,因此审查结果不再适用。 |
| Skipped | 已跳过审查 / 没有可审查的文件 | 你的自动审查筛选条件排除了该 PR(默认排除草稿、来自 Fork 的 PR 和依赖更新),或所有改动的文件都在审查范围之外。HeyDeer 因 PR 发生变化而停止自动审查时,检查也会被跳过。 |
| Skipped 或 Action required | 已跳过审查 / 需要审查 | 由于启用了仅手动、每个 PR 审查一次、暂停了该 PR 的审查,或达到每个 PR 的自动审查次数上限,本次未运行自动审查。也可能是工作区积分不足、达到用量上限,或该仓库已关联另一个工作区的免费积分。启用发现问题时将检查标记为失败时,此状态为 Action required,会阻止合并。 |
HeyDeer 未自动审查某个提交时,检查标题会写明原因,例如该 PR 已达到每个 PR 的自动审查次数上限。
如果提交未被审查或审查未完成,摘要会说明下一步怎么做,通常是评论 @heydeer review。另请参见故障排除。
从检查发起审查
Re-run、Re-run all 和审查此版本按钮都会针对该检查的提交发起审查,效果等同于你评论了 @heydeer review。当下一步应进行审查时,会显示审查此版本。参见 PR 评论命令。
如果 HeyDeer 无法接受该请求,检查会保持原样。评论 @heydeer review 可以查看原因。
合并队列
在合并队列中,该检查只核验队列中的每个 PR 是否满足审查要求,不审查合并后的代码,也不消耗积分。合并组仍应由你的 CI 检查。
多个打开的 PR 共用同一提交时
最新提交相同的多个打开的 PR 共用一个检查,只有每个 PR 的审查都允许合并时,该检查才会通过。检查摘要中会链接到每个 PR 的完整报告。
共用的检查没有“审查此版本”按钮;请改为在具体的 PR 上发起审查。