Schedule never creates runs in a new private repo, but workflow_dispatch works #212477
Replies: 2 comments 5 replies
|
Since both workflows are enabled on the default branch and manual runs succeed, I would focus on whether the schedule event is being delivered, not on runner selection or the heartbeat script. As a control, leave the existing off-hour cron unchanged and run the same probe in a known-working private repo under the same owner, ideally with the same user making the cron commit. Compare the expected UTC slots against the actual schedule run records in both repos. If the control fires repeatedly and the new repo still has zero records, send those UTC slots, the workflow commit SHA, and a successful manual run ID to Support privately. That is evidence of a repo-specific difference, not proof of a registration delay. GitHub documents scheduler delays under load and an inactive schedule actor as separate causes: https://docs.github.com/en/actions/how-tos/troubleshoot-workflows#scheduled-workflow-stopped-running |
|
Probably nothing wrong with your repo. There's been a wave of exactly this since around Oct 31, mostly private repos: scheduled runs either never show up or arrive hours late, while push and workflow_dispatch work fine. See #212156 and #212128 (5 and 15 minute crons firing every 4 to 6 hours). In #212156 someone else added a scheduled workflow to main on Nov 7 and got zero scheduled runs too, and disabling/re-enabling it and pushing a new commit to the file didn't change anything, so I wouldn't spend more time on that. The one thing that moved at all there: TarifZen switched to an hourly cron and did start getting scheduled runs, just 4 to 8 hours apart. So I'd stop editing the cron and leave one hourly expression at an odd minute running for a full day before drawing conclusions. If you need it to run on time right now, trigger it from outside with workflow_dispatch, since that path works for you. Any external cron (cron-job.org, a scheduled Cloudflare Worker, a server you already have) can call: Use a fine-grained token limited to that one repo with Actions: Read and write. Keep the schedule block in the workflow too, so you can drop the external trigger once schedules come back. I'd also add your case to #212156 with the UTC slots you listed. Same pattern, and that's where the reports are piling up. |
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Question
💬 Feature/Topic Area
Schedule & Cron Jobs
Discussion Details
Two workflows on
main(the only and default branch) of a private repository I created on 2026-11-08 have never produced a scheduled run. Manualworkflow_dispatchruns of the same files start and succeed.mainsince 16:46 UTC. It used17 * * * *, then23 * * * *, then*/5 * * * *from 21:42 to 22:04 UTC.gh workflow listshows both workflows as active, and Actions is enabled for the repository.After multiple expected trigger times,
gh run list --event schedulestill returns no scheduled runs for either workflow. The Actions UI shows only manual runs. There are no failed, queued, or skipped scheduled runs—no scheduled run records exist.Is there a repository, account, or plan condition that prevents schedule events from creating runs, or a known registration delay for new private repositories? I’ve omitted the repository name because it is private. If GitHub staff need it, I can provide it through a private Support ticket.
All reactions