跳至主要内容

排查 GitHub Actions 上的 Dependabot 故障

本文提供了解决在将 Dependabot 与 GitHub Actions 结合使用时可能遇到的问题的信息。

排查 Dependabot 触发现有工作流时的故障

在为 GitHub.com 设置 Dependabot 更新后,您可能会在 Dependabot 事件触发现有工作流时看到故障。

默认情况下,由 Dependabot 从 pushpull_requestpull_request_reviewpull_request_review_comment 事件触发的 GitHub Actions 工作流运行被视为从存储库分支打开。与其他参与者触发的的工作流不同,这意味着它们接收只读 GITHUB_TOKEN 并且无法访问通常可用的任何密钥。这会导致任何尝试写入存储库的工作流在 Dependabot 触发时失败。

有三种方法可以解决此问题

  1. 您可以更新您的工作流,使其不再由 Dependabot 触发,使用类似以下的表达式:if: github.actor != 'dependabot[bot]'。有关更多信息,请参阅“在工作流和操作中评估表达式”。
  2. 您可以修改您的工作流以使用包含 pull_request_target 的两步过程,该过程没有这些限制。有关更多信息,请参阅“使用 GitHub Actions 自动执行 Dependabot”。
  3. 您可以为 Dependabot 触发的工作流提供对密钥的访问,并允许 permissions 术语增加 GITHUB_TOKEN 的默认范围。有关更多信息,请参阅“使用 GitHub Actions 自动执行 Dependabot”和“GitHub Actions 的工作流语法”。