タイムゾーン周りで混乱したので自分用メモ、UTC なので日本で 21 と書いても 21 時には実行されない
ドキュメントにも UTC だと書いてる
You can schedule a workflow to run at specific UTC times using POSIX cron syntax.
日本時間で実行するためには9時間マイナスにする必要がある
21 時に動かしたいなら 12 と書く必要がある
タイムゾーン周りは一度ハマると抜け出しにくい
以下は実際に動かして確認した内容
というのもスケジュール指定を誤って何度も PR を出してしまったから反省の意味を込めて1から確認をした
サクッと Debian イメージで試してみる
後々 GitHub Actions で動かす用で date コマンドで出力する
$ docker pull debian
$ docker run --name debian -it debian /bin/bash
# date "+%Y/%m/%d %H:%M:%S"
2022/09/05 12:40:20
# TZ=JST-9 date "+%Y/%m/%d %H:%M:%S"
2022/09/05 21:40:51GitHub Actions で動かしてみる
下記 Workflow を作成して動かしてみた
---
name: Check Schedule Cron
on:
workflow_dispatch:
schedule:
- cron: '*/15 * * * *'
jobs:
build:
name: echo
runs-on: ubuntu-latest
steps:
- run: echo "check schedule cron"
- run: date "+%Y/%m/%d %H:%M:%S"
- run: TZ=JST-9 date "+%Y/%m/%d %H:%M:%S"こんな感じで出力を確認できた
Run echo "check schedule cron"
echo "check schedule cron"
shell: /usr/bin/bash -e {0}
check schedule cron
Run date "+%Y/%m/%d %H:%M:%S"
date "+%Y/%m/%d %H:%M:%S"
shell: /usr/bin/bash -e {0}
2022/09/05 17:22:55
Run TZ=JST-9 date "+%Y/%m/%d %H:%M:%S"
TZ=JST-9 date "+%Y/%m/%d %H:%M:%S"
shell: /usr/bin/bash -e {0}
2022/09/06 02:22:55JST <-> UTC
完全に自分用
困ったらこの表をみる
| JST | UTC |
|---|---|
| 2022/09/06 00:00:00 | 2022/09/05 15:00:00 |
| 2022/09/06 01:00:00 | 2022/09/05 16:00:00 |
| 2022/09/06 02:00:00 | 2022/09/05 17:00:00 |
| 2022/09/06 03:00:00 | 2022/09/05 18:00:00 |
| 2022/09/06 04:00:00 | 2022/09/05 19:00:00 |
| 2022/09/06 05:00:00 | 2022/09/05 20:00:00 |
| 2022/09/06 06:00:00 | 2022/09/05 21:00:00 |
| 2022/09/06 07:00:00 | 2022/09/05 22:00:00 |
| 2022/09/06 08:00:00 | 2022/09/05 23:00:00 |
| 2022/09/06 09:00:00 | 2022/09/06 00:00:00 |
| 2022/09/06 10:00:00 | 2022/09/06 01:00:00 |
| 2022/09/06 11:00:00 | 2022/09/06 02:00:00 |
| 2022/09/06 12:00:00 | 2022/09/06 03:00:00 |
| 2022/09/06 13:00:00 | 2022/09/06 04:00:00 |
| 2022/09/06 14:00:00 | 2022/09/06 05:00:00 |
| 2022/09/06 15:00:00 | 2022/09/06 06:00:00 |
| 2022/09/06 16:00:00 | 2022/09/06 07:00:00 |
| 2022/09/06 17:00:00 | 2022/09/06 08:00:00 |
| 2022/09/06 18:00:00 | 2022/09/06 09:00:00 |
| 2022/09/06 19:00:00 | 2022/09/06 10:00:00 |
| 2022/09/06 20:00:00 | 2022/09/06 11:00:00 |
| 2022/09/06 21:00:00 | 2022/09/06 12:00:00 |
| 2022/09/06 22:00:00 | 2022/09/06 13:00:00 |
| 2022/09/06 23:00:00 | 2022/09/06 14:00:00 |
余談
TimeZone を指定できるようにして欲しい Discussion があったので↑押した
https://github.com/community/community/discussions/13454