不同的 jacoco 覆盖导致 github 动作环境

Different jacoco coverage results in a github action environment

jacoco 覆盖率报告在 运行 在 CI 环境中生成不同结果时是否有任何原因?

迁移到 Java 17 后出现以下情况。当我 运行 ./gradlew clean build 生成报告并且 jacocoTestCoverageVerification 没有失败。

但是当在 github 运行ner 中执行相同的命令时,我得到了非常不同的结果,覆盖率报告也使用不同的覆盖率值创建,有些 类 只是覆盖验证失败。

很遗憾,我无法提供代码片段,但我已经试过了:

所以似乎 github 动作环境中的某些东西产生了这种行为。

版本:

这里的问题是 lombok 配置文件。原来兼容java17和Gradle7.3的新版lombok插件不再生成lombok.config文件了。

在之前的版本中,这些文件是由io.freefair.lombok插件生成的,我们把它们放在.gitignore中。因此,本地构建工作正常,因为文件仍然存在。

我通过查看生成的报告意识到这一点,我注意到 lombok 类 仅由 CI 分析。

在其他情况下,类似的问题可能与此相关: https://www.eclemma.org/jacoco/trunk/doc/classids.html