GitHub Actions GITHUB_TOKEN を用いた場合のトリガーの挙動

参考: https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow

  • 対象のアクティビティは opened、synchronize、reopened の pull_request イベント
  • GITHUB_TOKEN によるプルリクエスト作成や更新時にワークフローが承認待ち状態になる挙動
  • リポジトリ書き込み権限を持つユーザーによる Approve workflows to run での実行開始が必要
  • 再帰的なワークフロー実行の防止と自動化によるプルリクエストでの CI 実行の両立

再帰的なワークフローの具体例

  • ボットが GITHUB_TOKEN でプルリクエストを作成した際、その作成イベントをトリガーに CI ワークフローが自動起動する
  • ワークフロー内でさらにコミットや更新が行われると、再度プルリクエストのイベントが発火し、ワークフローが無限に連鎖・再起動し続ける状態

要は、botなどの自動化ツールが暴走して無限にワークフローを実行するのを防ぐためのセーフティーネット的な仕組み。

基本的には有効にしておいた方がよさそう。