排查 Dependabot 触发现有工作流时的故障
在为 GitHub.com 设置 Dependabot 更新后,您可能会在 Dependabot 事件触发现有工作流时看到故障。
默认情况下,由 Dependabot 从 push
、pull_request
、pull_request_review
或 pull_request_review_comment
事件触发的 GitHub Actions 工作流运行被视为从存储库分支打开。与其他参与者触发的的工作流不同,这意味着它们接收只读 GITHUB_TOKEN
并且无法访问通常可用的任何密钥。这会导致任何尝试写入存储库的工作流在 Dependabot 触发时失败。
有三种方法可以解决此问题
- 您可以更新您的工作流,使其不再由 Dependabot 触发,使用类似以下的表达式:
if: github.actor != 'dependabot[bot]'
。有关更多信息,请参阅“在工作流和操作中评估表达式”。 - 您可以修改您的工作流以使用包含
pull_request_target
的两步过程,该过程没有这些限制。有关更多信息,请参阅“使用 GitHub Actions 自动执行 Dependabot”。 - 您可以为 Dependabot 触发的工作流提供对密钥的访问,并允许
permissions
术语增加GITHUB_TOKEN
的默认范围。有关更多信息,请参阅“使用 GitHub Actions 自动执行 Dependabot”和“GitHub Actions 的工作流语法”。