KDOC 152: Dependabotが作ったPRでワークフローが失敗する理由

この文書のステータス

  • 作成
    • 2024-05-09 貴島
  • レビュー
    • 2024-05-09 貴島

概要

Dependabotは、GitHubで、自動で依存ライブラリを更新する機能である。Dependabotによって作られるPull Requestで常にテストが失敗しているのを認識し、理由がわかったのでメモする。

理由

ドキュメントにある。

Dependabot pull request によってトリガーされるワークフロー実行は、フォークされたリポジトリからのものであるかのように実行されるため、読み取り専用の GITHUB_TOKEN を使用します。 それらのワークフローの実行は、シークレットにはアクセスできません。 これらのワークフローをセキュリティで保護するための戦略については、「GitHub Actions のセキュリティ強化」を参照してください。

Dependabotが作るPull Requestで実行失敗していたのは、Dockerイメージレジストラにイメージをpushするタスクだった。このタスクでは、レジストラにイメージをpushするのに強い権限のトークンが必要なため、シークレットにトークンを登録していた。Dependabotが作るPull Requestではこのシークレットにアクセスできず、ログインジョブで失敗して終了していた。

この挙動によって、Publicリポジトリでも安全を保てるようになっている。

関連