Dependabot で secrets を使用するワークフローを実行する方法

Dependabot によってプルリクエストが作成された際に secrets を使用したワークフローが失敗してしまうときの対処法についてまとめる。

❌ secrets を使用したワークフローが失敗する

先日、chromatic を GitHub Actions で実行するようなワークフローを追加しました。

自分で変更を加え、プッシュをした際やプルリクエストを作成した際に chromatic のワークフローが実行されることは確認していたのですが、Dependabot によってプルリクエストが作成された際にワークフローが失敗してしまいました。

実際に表示されたエラーメッセージを確認すると、chromatic にデプロイを実行する際に必要なトークンが取得できていないことが分かります。

✖ Missing project token

Sign in to https://www.chromatic.com/start and create a new project,
or find your project token on the Manage screen in an existing project.
Set your project token as the CHROMATIC_PROJECT_TOKEN environment variable
or pass the --project-token command line option.

しかし、GitHub の secrets に CHROMATIC_PROJECT_TOKEN というトークン保存しているため、トークンを読み込めないという事象に戸惑いました。

調査を進める中で Dependabot は actions に設定されている secrets を読み込むことができないということがわかりました。

✅ 解決策

Dependabot secrets を使用することで解決することができます。

次の画像を参考に Settings の Security から Secrets and variables へアクセスし、「New repository secret」というボタンを押下することで chromatic の実行時に必要なトークンを設定することができます。

GitHubのリポジトリの設定からDependabot secretsを使用しトークンを設定する手順を示した画像

設定することができたら、失敗した chromatic のワークフローを再実行し、無事に成功することを確認します。