【问题标题】:Which branch should workflow files be located on for GitHub Actions to execute them?工作流文件应该位于哪个分支上以便 GitHub Actions 执行它们?
【发布时间】:2021-05-12 13:35:45
【问题描述】:

我在我的主分支上创建了

on:  
  push:
      branches: [ test ]

我注意到,虽然我可以手动触发它,并且它会起作用,但如果我推送到test,它实际上不会触发。为此,我需要在test 上创建相同的操作文件。现在,似乎我什至不需要对 main 分支执行操作,对吗?

那么为什么连选项都如此指定它应该触发的分支存在呢?它只会在文件存在的分支上触发。也就是说,我发现我必须将我的一个文件从主分支合并到我的测试分支,这很令人沮丧,有没有办法在推送时自动触发操作,即使我的test 分支上没有它,只有@ 987654326@?

【问题讨论】:

    标签: github-actions


    【解决方案1】:

    不,这是不可能的。由推送或拉取请求触发的工作流运行中的操作顺序在reference documentation 中进行了描述:

    1. 您的存储库上发生了一个事件。该事件具有关联的提交 SHA 和 Git 参考。

    2. GitHub 在您的存储库中的 .github/workflows 目录中搜索相关提交 SHA 或事件的 Git 引用中存在的工作流文件。

    3. 对于任何具有与触发事件匹配的 on: 值的工作流,都会触发工作流运行。某些事件还需要工作流文件存在于存储库的默认分支上才能运行。

    【讨论】:

    • 我明白了,谢谢!那为什么还能说on: push: [branch1, branch2]呢?
    • 先决条件是动作文件在相应的分支中可用。然后您就可以在各个分支上测试/构建所有其他更改。
    • @dockynodyerror 假设您的工作流不会徒劳地存在于单独的孤立分支中,而是在 main 分支中,然后在不指定分支的情况下,main 的每个分叉分支(每个 PR 等) 将执行工作流,如果您只想在推送到main 时执行工作流,这显然不好。
    猜你喜欢
    • 2020-03-20
    • 2022-12-23
    • 1970-01-01
    • 2019-11-28
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    相关资源
    最近更新 更多