CircleCI:尽管测试失败,ESLint returns CI 上的退出代码 0

CircleCI: ESLint returns exit code 0 on CI altough tests are failing

我正在我的 CircleCI 管道中执行以下命令:

yarn run eslint . --ext .json --ext .js --format junit -o reports/junit/eslint/js-lint-results.xml

输出显示退出代码 0,尽管存在多个 linting 错误。甚至 CircleCI 的测试摘要也显示了这些失败。

在本地(在 Windows 和 Unix 上)执行相同的命令时,它会失败,退出代码为 1(在 CircleCI 上也应该是这种情况)。

您是否在本地使用旧版本的 Yarn?在最新版本的 Yarn 中,yarn run 不再冒泡退出代码。这可能就是发生这种情况的原因。如果您在 yarn-error.log 中看到错误,那么这就是正在发生的事情。

Yarn 在这方面有一个未解决的问题:https://github.com/yarnpkg/yarn/issues/5457