【问题标题】:Coverlet won't break CircleCICoverlet 不会破坏 CircleCI
【发布时间】:2019-03-20 19:32:51
【问题描述】:

我有一个开源项目,我正在尝试了解 circleci。当代码覆盖率低于阈值时,我想让我的 CI 在分支上中断。目前我正在使用coverlet来实现这个目标,问题是即使覆盖率低于阈值并且CI上的提示说存在错误,CI不会中断并因此称其为成功。

我的yml circleci file的来源。

结果如下。

有没有办法确保在未达到阈值时循环中断?

【问题讨论】:

  • 添加此答案以供参考,我没有足够的声誉将其添加为评论。由于您在项目中使用 Coverlet 作为 nuget 包,因此上述答案由不幸的是,@dnephin 目前只是解决方法,“读取 CI 脚本中的输出内容并根据它采取行动”。因为,Coverlet 在用作 nuget 包引用时无法控制返回的退出代码,因为进程由“dotnet test”而不是“Coverlet”托管。这个确切的问题在这里讨论过,Coverlet Github Issue 你会发现

标签: .net-core msbuild circleci


【解决方案1】:

作业成功或失败通过进程的退出代码传达给 CircleCI。听起来您正在运行的进程正在以代码 0 退出,这就是作业成功的原因。

如果覆盖率太低,也许dotnet test 有一个退出非零的标志?如果不是,可能需要将输出发送到带有| tee filename 的文件,并编写一个脚本来读取该文件并在您希望作业失败时以非零值退出。

【讨论】:

  • 确实我检查了返回值,它是 0。我确信读取文件是一种方法,但我会尝试找到其他解决方法,因为解析输出似乎有点脏对我来说。
  • 希望有更好的办法!
猜你喜欢
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 2015-07-02
  • 2013-11-10
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多