.github/workflows 文件是特定于分支的?

.github/workflows files are branch specific?

关于 GitHub 的行为,我有以下问题:

简短版本:如果工作流文件存在于特定分支上,则工作流只能运行在特定分支上。

当您将一些代码推送到 GitHub 时,GitHub Actions 将查看 .github 目录 在该分支 中的内容您刚刚推送 运行 那些工作流程。

所以是的,它们仅 运行 在那些文件存在的分支上。

举个例子:

如果您在 main 分支中添加 .github/workflows/demo.yml 并推送它,GitHub Actions 将检查是否应执行该工作流。如果它在主分支和推送上配置为 运行,它将 运行.

在此之后,如果您基于 main 分支创建一个分支,并将一些更改推送到该新分支,GitHub Actions 将再次在 .github/workflows 目录下查找查看新分支中的内容,它将检查这些工作流是否应该 运行.

您描述的场景是您创建了一个 .github/workflows/demo.yml 并将其推送到 而非 main 的分支上。这意味着工作流只会在这个分支上 运行 ,直到你将它合并到 main.

然后,即使工作流文件存在于某些分支上,工作流也可能被配置为仅 运行 在某些特定分支上,使用过滤器。有关详细信息,请参阅文档:https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#using-filters