当多个其他工作流在 github 操作中完成时运行工作流

时间:2021-05-27 11:40:40

标签: github-actions

例如,在我的存储库中,我有 3 个 github 操作工作流:linting(L)、unittests(U) 和 build(B) 工作流,我只想在 L 和 U 完成时触发它们。 L 和 U 都会在推送事件时自动触发。 如果我在 B 工作流中执行此操作:

  workflow_run:
    workflows: ["Lint", "UnitTests"]
    types: 
      - completed

我的构建工作流程被触发了两次,第一次是在 L 完成时,第二次是在 U 完成时。 当L和U都完成时,是否可以只触发一次B?

1 个答案:

答案 0 :(得分:1)

这是不可能的。它在这里的工作方式类似于 OR。如果您只想在两个工作流完成时触发此工作流,您需要在此处引入某种编排器,它将存储状态并保留有关已执行工作流的信息。它可能是一些稳定的应用程序。然而,这是巨大的努力。