KDOC 147: GITHUB_TOKENを使ってgit pushするとトリガーされない
この文書のステータス
- 作成
- 2024-05-01 貴島
- レビュー
- 2024-05-06 貴島
概要
GitHub Actionsにおいて、 GITHUB_TOKEN
はワークフローにデフォルト設定されるシークレットトークンである。これを使うといちいちトークンを登録しなくてよく、便利。しかしデフォルトだけあって権限は強くなく、書き込みがあるアクションをするとハマるポイントがある。
実行されない
GitHub Actions上でリポジトリにコミットをpushしたいときがあって、それで GITHUB_TOKEN
を使ってpushした。pushはすぐできたのだが、それによるワークフローが発火しない。
↓これは、ちゃんと公式ドキュメントに記載があった。
リポジトリGITHUB_TOKENを使用してタスクを実行する場合、 GITHUB_TOKEN によってworkflow_dispatchトリガーされるイベント (例外) と repository_dispatch、 は新しいワークフロー実行を作成しません。 これによって、予想外の再帰的なワークフローの実行が生じないようになります。たとえば、ワークフロー実行でリポジトリの GITHUB_TOKEN を使用してコードがプッシュされた場合、push イベントの発生時に実行するように構成されたワークフローがリポジトリに含まれている場合でも、新しいワークフローは実行されません。 https://docs.github.com/ja/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
簡単にできたら無限にコミットが実行されるので、それを防ぐためというわけ。
関連
なし。