Dependabot が既存のワークフローをトリガーするときのエラーのトラブルシューティング
GitHub.comに対して Dependabot の更新プログラムを設定した後、Dependabot イベントによって既存のワークフローがトリガーされるとエラーが発生することがあります。
既定では、push
、pull_request
、pull_request_review
、または pull_request_review_comment
のイベントから Dependabot によってトリガーされる GitHub Actions ワークフローの実行は、リポジトリ フォークから開かれたかのように扱われます。 他のアクターによってトリガーされるワークフローとは異なり、これは読み取り専用の GITHUB_TOKEN
を受け取り、通常使用できるシークレットにはアクセスできないことを意味します。 これにより、Dependabot によってトリガーされたときに、リポジトリへの書き込みを試みるワークフローが失敗します。
この問題を解決するには、次の 3 つの方法があります。
if: github.actor != 'dependabot[bot]'
のような式を使用して、Dependabot によってトリガーされないようにワークフローを更新できます。 詳しくは、「ワークフローとアクションで式を評価する」を参照してください。- ワークフローを変更して、このような制限がない
pull_request_target
を含む 2 段階のプロセスを使用できます。 詳しくは、「GitHub ActionsでのDependabotの自動化」を参照してください。 - Dependabot のアクセスによってトリガーされるワークフローをシークレットに提供し、
permissions
という用語でGITHUB_TOKEN
の既定のスコープを広げることができます。 詳細については、「GitHub ActionsでのDependabotの自動化」と「GitHub Actions のワークフロー構文」をご覧ください。