GitLab CI 覆盖范围的外部测试 "fails"

GitLab CI external test for coverage "fails"

我在一个项目中使用 GitLab 及其 CI。

我曾经用一些 CI 作业测试覆盖率,直到这些脚本停止工作(“关键字 cobertura 无效”)。

同时我发现 CI 添加了一些自动处理覆盖的“外部”作业(见屏幕截图)。 我不明白它为什么会出现,可能是因为我已经 link 使用 Codecov 外部站点编辑了该项目。 这在当时是一个惊喜,因为我不必为覆盖维护一个特殊的脚本。

但是现在这些外部覆盖测试最终都失败了,因此我无法合并我的更改。 最糟糕的是,这些不是正常的脚本,所以我看不出它有什么问题。而且,甚至没有重试按钮(见右侧屏幕截图)。

我不想放弃我原本完美的合并请求。

我怎样才能看出 CI 这部分有什么问题?

点击失败的测试将我转到 Codecov 网站,我没有发现任何问题。

这里是 link 管道:https://gitlab.com/correaa/boost-multi/-/pipelines/540520025


我想我解决了这个问题,可能是覆盖率下降了(下降了 0.01%!),这被“系统”解释为失败。 我添加了测试以覆盖一些未覆盖的行,问题就解决了。

如果这是正确的解释,这确实很好,但也很可怕,因为一些大的变化有时需要覆盖范围。 在我的特定示例中,发生的事情是我在关闭时简化了代码和总行数,从而使覆盖率低于以前。

我认为这个错误可能与您声明的覆盖范围有关。

正在查看您的 .codecov.yml 文件:

coverage:
  precision: 2
  round: down
  range: "99...100"

您在范围内使用三个点时排除了 100%,并且您已通过此分支实现了 100% 的覆盖率。我觉得这 不应该 很重要,但你可能会遇到 codecov 的边缘情况。也许向他们提交错误报告。

尝试将范围更改为 99..100。引号应该是不必要的。

https://docs.codecov.com/docs/coverage-configuration