CI/CD

Cron Expressions for GitHub Actions Scheduled Workflows

GitHub Actions supports scheduled workflows using standard 5-field cron syntax. Schedules always run in UTC. Due to high demand, scheduled workflows may run up to 15 minutes late during peak periods.

Format
5-field cron
Fields
5 fields: minute hour day-of-month month day-of-week
Timezone
UTC (fixed — no timezone support)
Validate your GitHub Actions cron expression instantly
Paste any cron expression → get a plain-English explanation, next run times, and lint warnings.

Common GitHub Actions Cron Patterns

Every 5 minutes
*/5 * * * *

Minimum practical frequency for GitHub Actions

Use caseFrequent health checks, fast polling jobs
Every hour
0 * * * *

Runs at the top of every hour

Use caseHourly data sync, report generation
Daily at 6am UTC
0 6 * * *

Runs every day at 06:00 UTC

Use caseMorning build, overnight report ready by workday
Weekdays at 9am UTC
0 9 * * 1-5

Runs Monday through Friday at 09:00 UTC

Use caseBusiness-hours automation, team digest emails
Every Monday at midnight
0 0 * * 1

Runs at 00:00 UTC every Monday

Use caseWeekly cleanup, dependency audit, security scan
Nightly build
0 2 * * *

Runs at 02:00 UTC every night

Use caseNightly test suite, build artifacts, release dry-run
Twice a day
0 6,18 * * *

Runs at 6am and 6pm UTC

Use caseTwice-daily data refreshes, bi-daily deployments
First of the month
0 0 1 * *

Runs at midnight UTC on the 1st of every month

Use caseMonthly billing, archive jobs, SLO reports

GitHub Actions Workflow — Scheduled Trigger

yamlGitHub Actions
name: Scheduled Job

on:
  schedule:
    # Runs at 06:00 UTC every weekday
    - cron: '0 6 * * 1-5'

jobs:
  run-job:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run scheduled task
        run: echo "Running scheduled job at $(date)"

How GitHub Actions Differs from Standard Crontab

GitHub Actions uses standard 5-field cron (same as crontab) but is always UTC. It does not support the 6-field format used by AWS EventBridge or the seconds-first format used by Azure Functions.

Common Gotchas & Pitfalls

1

Schedules always run in UTC — convert your local time to UTC before writing the cron.

2

GitHub may delay scheduled runs by up to 15 minutes during high-traffic periods.

3

The minimum supported interval is every 5 minutes (*/5 * * * *).

4

Scheduled workflows only run on the default branch (usually main or master).

5

If the repo has no activity for 60 days, GitHub will disable the scheduled workflow.

6

You cannot use '@monthly' or other @ shortcuts — only 5-field numeric cron syntax.

7

Multiple schedule triggers are supported — add multiple `- cron:` entries.

Other Platform Guides

More Cron Expression Tools

Translate, build, test, and reference cron expressions — all in one place.