只有主分支中的 .github/workflows 文件夹重要吗?

Does only the .github/workflows folder in the master branch matter?

假设每次创建拉取请求时我都希望工作流程 运行。 GitHub Actions 会在主分支、PR 的目标分支或 PR 的源分支中查找 .github/workflows 文件夹吗?

master 分支是唯一对 GitHub 操作重要的分支吗?

Does only the .github/workflows folder in the master branch matter?

否,GitHub 操作将使用来自与事件类型关联的 GITHUB_SHA 的工作流。在许多情况下,这将是主要的,因为与某些事件类型关联的 GITHUB_SHA 是 "last commit on default branch."

如果您查看下面 link 处的文档,您会发现每个事件类型都描述了 GITHUB_SHA 在该上下文中的含义。

https://help.github.com/en/articles/events-that-trigger-workflows

对于pull_request个事件你可以看到GITHUB_SHA的描述如下。

Last merge commit on the GITHUB_REF branch

GITHUB_REF分支描述如下。

PR merge branch refs/pull/:prNumber/merge

因此,当您创建拉取请求时,GitHub Actions 将在源分支的最后一次提交中查找 on: pull_request 工作流。您可以通过以下测试来验证这一点。

  1. 提交一个 on: pull_request 工作流到 master
  2. 创建功能分支并删除工作流
  3. 从功能分支向 master 提出拉取请求
  4. 验证 on: pull_request 工作流不执行