关于公共复刻中的工作流程运行
任何人都可以复刻公共仓库,然后提交建议更改仓库 GitHub Actions 工作流程的拉取请求。 虽然来自复刻的工作流程无法访问敏感数据(如密钥),但如果出于滥用目的进行修改,可能会让维护者感到烦恼。
为了帮助防止这种情况,某些外部贡献者向公共仓库提出的关于拉取请求的工作流程不会自动运行,可能需要先批准。 根据“贡献者运行分支拉取请求工作流的审批”设置,对公共存储库的拉取请求的工作流不会自动运行,并且在以下情况下可能需要审批:
- 拉取请求由用户创建,需要根据所选策略进行审批****。
- 拉取请求事件由用户触发,需要根据所选策略进行审批****。
默认情况下,所有首次贡献者都需要批准才能运行工作流程。
pull_request_target
事件触发的工作流在基础分支的上下文中运行。 由于基础分支被视为是受信任的,因此由这些事件触发的工作流将始终运行,无论审批设置如何。 有关 pull_request_target
事件的详细信息,请参阅“触发工作流的事件”。
Warning
这些工作流审批策略旨在限制可在 GitHub Actions 运行器中执行工作流的用户集,因为在使用 GitHub 托管的运行器时,这些工作流可能会导致意外的资源和计算消耗。 如果使用自托管运行程序,并且允许用户绕过所设置审批策略中的审批或者拉取请求已获审批,则潜在的恶意用户控制工作流代码将自动执行。 必须考虑在基础结构中执行此代码的风险,无论使用何种审批设置,都应查看并遵循自托管运行程序安全建议。 请参阅“GitHub Actions 的安全强化”。
已等待批准超过 30 天的工作流程运行将自动删除。
批准公共复刻中拉取请求的工作流程运行
能够写入仓库的维护者可按照以下步骤来审查和运行来自贡献者、需要审批的拉取请求上的工作流程。
-
在存储库名称下,单击 “拉取请求”。
-
在拉取请求列表中,单击要审查的拉取请求。
-
在拉取请求上,单击 “文件已更改”。
-
检查拉取请求中的拟议更改,确保您在拉取请求分支上自由运行您的工作流程。 应特别注意
.github/workflows/
目录中影响工作流文件的任何拟议更改。 -
如果能自由在拉取请求分支上运行工作流,请返回到 “转换”选项卡,在“等待审批的工作流”下,单击“批准并运行” 。