GitHub Actions - 如何在推送到 A 分支或推送到 B 分支中特定路径时触发运行

4
从另一个答案中,我了解到如何在(特定分支的特定路径中)推送更新时运行操作。该答案还暗示了如何在特定分支中的任何更新上运行操作。

然而,我想要触发一个更新

  • 要么是将文件夹/文件推送到 A 分支中
  • 要么是将特定文件推送到 B 分支中

我尝试了以下方法,但会抛出语法错误(因为似乎只能有一个 push 条目):

on:
  push:
    branches:
      - translation-files
  push:
    branches:
      - main
    paths:
      - .github/workflows/translation-updates-to-main-repo.yml

有什么想法可以实现这样的组合吗?如果可以,该如何实现?(如果不行,我可能只能接受手动启动运行此操作工作流程的方式,在我更新此操作工作流程时这么做。)

您无法仅使用 on 字段(除非您使用多个工作流文件)来实现所需功能。但是,您可以评估 branch ref 并查看在作业步骤中是否已更新了特定路径(对此有一个有趣的 路径过滤器操作)。然后,基于这个结果,您可以检查是否要在进一步的步骤/作业中执行更新操作。所有这些都可以在同一个工作流文件中完成。 - GuiFalourd
1
好的,谢谢。如果您将其作为答案放置,我可以接受它 :) - Koen
1个回答

1

仅使用on字段无法实现你想要的结果(除非你使用多个工作流文件,每个触发器一个)。

但是,你可以评估branch ref,如果特定路径在作业步骤中已更新(有一个有趣的path filter action),然后根据结果/输出,你可以检查是否希望在进一步的步骤/作业中执行更新。所有都在同一个工作流文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接