jacoco 覆盖率报告在 CI 环境中运行时是否有任何理由产生不同的结果?
迁移到 Java 17 后出现以下情况。当我运行./gradlew clean build
报告时,会生成报告并且jacocoTestCoverageVerification
不会失败。
但是,当在 github 运行器中执行相同的命令时,我得到了非常不同的结果,覆盖率报告也使用不同的覆盖率值创建,并且某些类只是未能通过覆盖率验证。
不幸的是,我无法提供代码片段,但我已经尝试过:
- 在我的机器上运行 github 运行器,使用相同的 jdk,如果我只是在命令行中运行构建,它会产生不同的结果:(
- 为测试任务添加 jvmargs noverify
- 在容器而不是自托管中运行 github 操作,结果相同
- 其他开发人员也在不同的机器上构建了该项目而没有错误
- 运行与 ci 相同的构建命令
所以似乎 github action env 中的某些东西会产生这种行为。
版本:
- jacoco 插件:0.8.7
- 毕业7.3
- 爪哇 17