跳至主要内容

批准来自公共分支的工作流运行

当外部贡献者向公共仓库提交拉取请求时,拥有写入权限的维护者可能需要批准一些工作流运行。

关于来自公共分支的工作流运行

任何人都可以派生公共仓库,然后提交拉取请求,以建议更改仓库的 GitHub Actions 工作流。虽然来自分支的工作流无法访问敏感数据(例如密钥),但如果出于恶意目的对其进行修改,它们可能会对维护者造成困扰。

为防止此类情况发生,来自某些外部贡献者的公共仓库拉取请求的工作流将不会自动运行,可能需要先批准。根据“批准来自贡献者的公共仓库分叉拉取请求工作流”设置,如果满足以下条件,则公共仓库的拉取请求工作流将不会自动运行,可能需要批准:

  • 拉取请求由根据所选策略需要批准的用户创建。
  • 拉取请求事件由根据所选策略需要批准的用户触发。

默认情况下,所有首次贡献者都需要批准才能运行工作流。

pull_request_target事件触发的工 作流在基分支的上下文中运行。由于基分支被认为是受信任的,因此由这些事件触发的工 作流将始终运行,而不管批准设置如何。有关pull_request_target事件的更多信息,请参阅“触发工作流的事件”。

警告

这些工作流审批策略旨在限制可以在 GitHub Actions 运行器中执行工作流的用户集,这些运行器在使用 GitHub 托管运行器时可能会导致意外的资源和计算消耗。如果您使用的是自托管运行器,如果允许用户绕过已设置的审批策略中的审批,或者如果拉取请求已获批准,则潜在的恶意用户控制的工作流代码将自动执行。您必须考虑在您的基础架构中执行此代码的风险,并且无论使用哪种审批设置,都应查看并遵循自托管运行器的安全建议。请参阅“GitHub Actions 的安全加固”。

您可以为仓库组织企业配置工作流审批要求。

等待批准超过 30 天的工作流运行将自动删除。

批准来自公共分叉的拉取请求上的工作流运行

拥有仓库写入权限的维护者可以使用以下步骤来查看和运行来自需要批准的贡献者的拉取请求上的工作流。

  1. 在您的仓库名称下,单击 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Pull requests," is outlined in dark orange.

  2. 在拉取请求列表中,单击您要查看的拉取请求。

  3. 在拉取请求上,单击 已更改的文件.

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.

  4. 检查拉取请求中建议的更改,并确保您同意在拉取请求分支上运行您的工作流。您应该特别注意.github/workflows/目录中影响工作流文件的任何建议更改。

  5. 如果您同意在拉取请求分支上运行工作流,请返回 对话选项卡,然后在“等待批准的工作流”下,单击批准并运行