GitHub Actions Cron
5-field POSIX-style cron for workflow `schedule` triggers — UTC only, minimum interval 5 minutes.
Overview
GitHub Actions workflow `schedule` triggers use 5-field POSIX-style cron expressions evaluated in UTC. Internally GitHub uses Vixie cron syntax, so step values and named days/months work.
There are two practical constraints: (1) all times are UTC — no timezone field; (2) the minimum reliable interval is 5 minutes, and the schedule is best-effort (GitHub may delay or skip runs during high load).
Field Structure
Field Order5 fields: minute hour day-of-month month day-of-week
Day-of-Week0 or 7 = Sunday, 1=Monday, …, 6=Saturday.
Special Characters
| Token | Meaning |
|---|---|
| * | Any value. |
| , | List separator. |
| - | Range. |
| / | Step. |
Aliases
- `@hourly`, `@daily`, `@weekly`, `@monthly`, `@yearly` (Vixie aliases).
Comparison vs. Unix Cron
| Feature | GitHub Actions Cron | Unix Cron |
|---|---|---|
| Field count | 5 | 5 |
| Seconds field | No | No |
| Step syntax | Yes | Limited |
| Named months/days | Yes (JAN-DEC, SUN-SAT) | No |
| Aliases | Yes | No |
| Timezone control | UTC only | Daemon-local or `CRON_TZ` |
| Minimum interval | 5 minutes (recommended) | 1 minute |
Examples
Gotchas & Pitfalls
- ⚠All times are UTC. To run at 09:00 New York, schedule `0 13 * * *` (EST) — and account for daylight-saving shifts.
- ⚠Scheduled workflows are disabled automatically after 60 days of repository inactivity.
- ⚠If many workflows are scheduled for the same minute (e.g. minute 0), runs can be delayed — stagger to off-peak minutes (e.g. 7, 23, 41) to reduce contention.
- ⚠Schedules on a fork are disabled by default — they must be re-enabled from the Actions tab.