Skip to main content
Skip to content

为拉取请求设置代码覆盖率阈值

当上传的代码覆盖率低于团队所需的级别时,防止拉取请求合并。

谁可以使用此功能?

具有 管理员 角色的存储库所有者、组织所有者和用户

注意

此功能目前处于公开预览,可能会发生更改。

代码覆盖率规则的工作原理

“限制代码覆盖率”规则根据配置的阈值评估上传的行覆盖率数据。 它不会等待覆盖率上传完成。

若要防止拉取请求在所有预期的覆盖率结果可用之前被合并,请将与预期覆盖率上传相关联的每项状态检查设为必需状态检查。 这包括从单独的作业或工作流上传的覆盖范围。

有关线路覆盖率的详细信息,请参阅 代码覆盖率参考资料。

先决条件

  • GitHub Code Quality 已在存储库中启用。
  • 代码覆盖率数据已上传到拉取请求分支的 GitHub。 请参阅“为存储库设置代码覆盖率”。

创建覆盖阈值规则

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在左侧边栏中的“代码和自动化”下,单击 “规则集”,然后单击“ 规则集”。

  4. 创建新的分支规则集,或单击现有规则集对其进行编辑。

  5. 在“分支规则”下,选择“ 限制代码覆盖率”。

  6. 展开 “其他设置” 以配置阈值。 值为 0 表示禁用阈值。

    • 最小行覆盖率百分比:输入一个值来阻止聚合行覆盖率低于此百分比的拉取请求。
    • 最大行覆盖率下降:输入一个值来阻止拉取请求,其中行覆盖率相对于默认分支下降的百分点数超过这一个百分点。
  7. 单击“ 创建 ”或 “保存更改”。

提示

在切换到 “活动”之前,请考虑将规则集设置为 “评估”模式。 这样,便可以观察哪些拉取请求已被阻止,而无需强制执行规则,从而有机会校准阈值。