只有主分支中的 .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
工作流。您可以通过以下测试来验证这一点。
- 提交一个
on: pull_request
工作流到 master
- 创建功能分支并删除工作流
- 从功能分支向 master 提出拉取请求
- 验证
on: pull_request
工作流不执行
假设每次创建拉取请求时我都希望工作流程 运行。 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
工作流。您可以通过以下测试来验证这一点。
- 提交一个
on: pull_request
工作流到 master - 创建功能分支并删除工作流
- 从功能分支向 master 提出拉取请求
- 验证
on: pull_request
工作流不执行