yiskw note

機械学習やプログラミングについて気まぐれで書きます

GitHub Actionsでワークフローを定期的に実行する


概要

GitHub Actionで定期的にワークフローを実行するための設定について調べたのでメモしておきます.

設定方法

docs.github.com

こちらにある通り,scheduleイベントを設定すれば良い.

on:
  schedule:
    # * is a special character in YAML so you have to quote this string
    - cron:  '*/15 * * * *'

サンプルワークフロー

"Hello world"と定期的に出力するワークフローの一例. workflow_dispatchイベントを設定することで,手動でワークフローを実行できる.

name: Greeting

on:
  schedule:
    # UTC time zone
    - cron:  '30 10 * * 0'
  workflow_dispatch:
  
jobs:
  ci:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/checkout@v2

      - name: Say hello
        run: echo "Hello world."

cronの書き方

以下のように記述する.

"分 時 日 月 曜日"
  • * ... 任意の値を示す
  • , ... 複数の値を記述したい場合は,で区切る
  • - ... 範囲を指定する.4-6の場合は,4 5 6の値を意味する.
  • / ... /前の値から,/後ろの値ごとに増加する値を意味する.例えば,20/15の場合は,20/35/50の値を表す

ちなみに,曜日は日月火水木金土が0-6の数字に対応している. GitHub Actionsでは,時刻がUTC基準なので注意.

参考