GitHub Actions ワークフローを毎分実行する
GitHub Actions には「毎分」を正確に表す式がありません。理由と代替案、対応しているプラットフォームを示します。 GitHub Actions は on.schedule で POSIX cron を使い、デフォルトブランチで実行します。タイムゾーンを指定しなければ UTC です。
GitHub Actions で正確に表せない理由
crontab での定義 * * * * * · “毎分”
GitHub Actions のスケジュールは最短 5 分ごとです。この式はそれより頻繁です。
代替案workflow_dispatch や repository_dispatch で外部からワークフローを起動するか、スケジュールを別の場所で動かします。
GitHub Actions の注意点
最短は 5 分GitHub のドキュメントでは、スケジュール実行の最短間隔は 5 分ごとです。それより短い間隔は期待できません。
遅れたり落ちたりする混雑時、特に毎時 0 分は実行が遅れ、一部は破棄されることがあります。時刻が重要なら 0 分を避けてください。
timezone を指定しなければ UTCschedule のエントリに timezone: と IANA 名を追加します。ないと UTC で実行されます。
デフォルトブランチのみ、停止されることもスケジュールはデフォルトブランチの最新コミットで動きます。公開リポジトリでは 60 日間活動がないと無効になります。
よくある質問
GitHub Actions で「毎分」を表す cron 式は?
正確に一致する式はありません。GitHub Actions のスケジュールは最短 5 分ごとです。この式はそれより頻繁です。
GitHub Actions のスケジュールはどのタイムゾーンで動きますか?
デフォルトは UTC です。schedule の cron: の横に timezone: と IANA 名(例:Asia/Tokyo)を書きます。
GitHub Actions は毎分実行できますか?
できません。ドキュメント上の最短は 5 分ごとです。もっと短くしたい場合は workflow_dispatch や repository_dispatch で外部から起動します。
GitHub Actions は @hourly や @daily に対応していますか?
対応していません。@yearly、@monthly、@weekly、@daily、@hourly、@reboot は使えないので、5 つのフィールドで書きます。