我们有一个巨大的 TS monorepo,我们在 CI 环境中使用合并队列将 PR 合并到其中。类型检查作业是合并队列 CI 的一大瓶颈,耗时 15 分钟。类型检查作业的执行时间非常长,需要 15 分钟。
我们有一个巨大的 TS monorepo,我们在 CI 环境中使用合并队列将 PR 合并到其中。
该 typecheck
作业是合并队列 CI 的很大瓶颈,耗时 15 分钟。
typecheck 作业运行 yarn tsc -p
。根据我在遥测中观察到的情况, tsc
默认情况下会分析 整个代码库 ,并且只有在完成后才会报告任何错误。因此,无论 typecheck 是 还是 ,它都需要 15 分钟的固定时间。
是否可以让 tsc 在第一次错误时抛出错误并立即退出?
在 CI/合并队列的范围内,一旦出现 任何错误, 我希望类型检查作业退出,即使可能还会有更多错误;这是一个很好的权衡:通过提前退出,它不会无用地阻止其后面的所有 PR,这将提高合并队列的吞吐量。并且 PR 被拒绝的人将被要求重新确定他们的 PR 并检查所有错误。这会给 PR 被拒绝的人带来一些额外的负担,但没关系。
注意:我知道“项目参考”,我们正在研究这个问题,但由于需要迁移的规模,目前还很遥远。请参阅以下回复之一的评论。