Run a GitHub Actions workflow every 5 seconds
GitHub Actions has no exact expression for “Every 5 seconds”. Here is why, a workaround, and the platforms that can do it. GitHub Actions takes POSIX cron in on.schedule and runs it on the default branch, in UTC unless the entry sets a time zone.
Why GitHub Actions can’t do this exactly
Defined on Quartz as */5 * * * * ? · “Every 5 seconds”
second: GitHub Actions has no seconds field, so it cannot run at seconds other than 0.
WorkaroundRun every minute and repeat inside the job with sleep, or use a scheduler that has seconds (Spring, Quartz, a systemd timer).
GitHub Actions gotchas
FAQ
What is the GitHub Actions cron expression for “Every 5 seconds”?
There is none that matches exactly. GitHub Actions has no seconds field, so it cannot run at seconds other than 0.
Which time zone does a GitHub Actions schedule use?
In UTC by default. Add timezone: with an IANA name, such as Asia/Tokyo, next to cron: in the schedule entry.
Can GitHub Actions run every minute?
No. The documented minimum is every 5 minutes. For tighter intervals, trigger the workflow from outside with workflow_dispatch or repository_dispatch.
Does GitHub Actions support @hourly or @daily?
No. GitHub does not support @yearly, @monthly, @weekly, @daily, @hourly or @reboot. Use the five fields.