💨

【GitHub Actions】ワークフローのスケジュール実行設定

2021/07/10に公開

概要

GitHub Actions のスケジュール実行設定についてです。
結論としては、スケジューリングする場合はscheduleイベントを使用します。
この記事は基本的にはGitHub のドキュメントに従っています。

設定方法

on内にてscheduleイベントを使用し、スケジュール設定を行います。
スケジュール時間の設定にはPOSIX クーロン構文を使用します。
実行の最短間隔は 5 分に 1 回です。

on:
  schedule:
           # ┌───────────── 分 (0 - 59)
           # │ ┌─────────────── 時間 (0 - 23)
           # │ │    ┌───────────── 日 (1 - 31)
           # │ │    │ ┌───────────── 月 (1 - 12 または JAN-DEC)
           # │ │    │ │ ┌───────────── 曜日 (0 - 6 または SUN-SAT)
           # │ │    │ │ │
           # │ │    │ │ │
           # │ │    │ │ │
    - cron: "0 5,23 * * 1"

スケジュール実行の遅延について

公式ドキュメントによるとscheduleイベントは高負荷時に遅延が起こるようです。

ノート: schedule イベントは、GitHub Actions のワークフローの実行による高負荷の間、遅延させられることがあります。高負荷の時間帯には、毎時の開始時点が含まれます。 遅延の可能性を減らすために、Ⅰ 時間の中の別の時間帯に実行されるようワークフローをスケジューリングしてください。

厳密にスケジュール実行を行いたい場合は注意してください。

参考文献

ワークフローをトリガーするイベント-スケジュールしたイベント-
GitHub Actions のスケジュール実行はスケジュール通りには動いてくれないようだ

Discussion