GitHub 工作流作业超时分钟被忽略为什么?

问题描述

根据https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes

timeout-minutes 参数认为 360 分钟(6 小时)。

我对突变测试进行了并行处理,因此我的工作流程需要大约 6.5 小时才能运行(使用 Stryker 进行突变测试,仅在 2 个内核上进行约 1600 个突变体 - 并行 9 个作业)。因此,我将突变作业的超时分钟数设置为 420 分钟(7 小时),以防万一:https://github.com/lbragile/TabMerger/blob/b53a668678b7dcde0dd8f8b06ae23ee668ff8f9e/.github/workflows/testing.yml#L53

这似乎被忽略了,因为工作流仍会在 6 小时 23 分钟后结束(没有警告/错误):https://github.com/lbragile/TabMerger/runs/2035483167?check_suite_focus=true

为什么我的值被忽略了?

另外,我可以做些什么来在工作流虚拟机上使用更多 cpu

解决方法

GitHub 托管的运行器每个作业最多 6 小时。

使用限制

使用 GitHub 托管的运行器时,GitHub Actions 的使用有一些限制。这些限制可能会发生变化。

[...]

  • 作业执行时间 - 工作流中的每个作业最多可以运行 6 小时的执行时间。如果作业达到此限制,则作业将终止且无法完成。

https://docs.github.com/en/actions/reference/usage-limits-billing-and-administration#usage-limits