Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

Why are you starting this discussion?

Question

What GitHub Actions topic or product is this about?

Schedule & Cron Jobs

Discussion Details

I have been trying to troubleshoot this issue for a few days now with claude.ai and github copilot and it was suggested I submit a ticket.
I have a workflow that had a schedule of

on:
schedule:

Weekdays 2:08 PM - 5:38 PM ET (every 30 min)

  • cron: '8,38 19-22 * * 1-5' # 19:08-22:38 UTC = 2:08-5:38 PM EST

Weekdays 6:08 PM - 10:13 PM ET (every 15 min)

  • cron: '8,23,38,53 23 * * 1-5' # 23:08-23:53 UTC = 6:08-6:53 PM EST (Mon-Fri)
  • cron: '8,23,38,53 0-3 * * 2-6' # 00:08-03:53 UTC = 7:08-10:53 PM EST (Tue-Sat, after midnight)

Saturdays 12:08 PM - 10:13 PM ET (every 15 min)

  • cron: '8,23,38,53 17-23 * * 6' # 17:08-23:53 UTC = 12:08-6:53 PM EST (Saturday)
  • cron: '8,23,38,53 0-4 * * 0' # 00:08-04:53 UTC = 7:08-11:53 PM EST (Sunday, after midnight)

Sundays 10:08 AM - 10:13 PM ET (every 15 min)

  • cron: '8,23,38,53 15-23 * * 0' # 15:08-23:53 UTC = 10:08 AM-6:53 PM EST (Sunday)
  • cron: '8,23,38,53 0-4 * * 1' # 00:08-04:53 UTC = 7:08-11:53 PM EST (Monday, after midnight)

Today the times this ran was....
2:23
2:42
3:21
3:46
4:26
4:43
5:29
5:44
6:25
6:43
6:57
all times PM ET. There were no automatic triggers of the schedule after 7 PM ET. You can also see the 6:08 run is skipped too.

Last night I split the workflow into to separate yml files with different schedules, thinking that the overlap at 7 PM ET, which is the start of a new day in UTC time was causing an issue. But it is still not running after 7 PM

Here are the two separate schedules now

Schedule 1
on:
schedule:

Sundays 10:08 AM - 6:53 PM ET

  • cron: '8,23,38,53 15-23 * * 0'

Weekdays 2:08 PM - 6:53 PM ET (before midnight UTC)

  • cron: '8,38 19-22 * * 1-5' # Every 30 min 2:08-5:38 PM ET
  • cron: '8,23,38,53 23 * * 1-5' # Every 15 min 6:08-6:53 PM ET

Saturdays 12:08 PM - 6:53 PM ET

  • cron: '8,23,38,53 17-23 * * 6'

and then Schedule 2
on:
schedule:

Weekday evenings 7:08 PM - 10:53 PM ET (after midnight UTC)

  • cron: '8,23,38,53 0-3 * * 2-6'

Saturday evenings 7:08 PM - 11:53 PM ET (now Sunday in UTC)

  • cron: '8,23,38,53 0-4 * * 0'

Sunday evenings 7:08 PM - 11:53 PM ET (now Monday in UTC)

  • cron: '8,23,38,53 0-4 * * 1'
You must be logged in to vote

Replies: 7 comments · 6 replies

This comment was marked as off-topic.

@F6PJoe
Comment options

it is on the correct branch and they are allowed. if they weren't then it wouldn't be running at all, right?

I have tried the random 5 min cron and it doesn't seem to trigger. Do I need to wait until the next day to get that one to work? Every 5 mintues for this script could potentially cause problems because I use google api and I would hit a limit pretty quicky running it that often.

I can't contact support because I don't have a paid account

I already did create a different workflow just for 00-04 and it won't kick off once that one should start running, which is 7 PM ET.

@Aqib121201

This comment was marked as off-topic.

@F6PJoe
Comment options

When you say a fresh commit, do you mean a brand new .yml file?

This comment was marked as off-topic.

@F6PJoe
Comment options

ok sorry for the questions. so a change to just the schedule in the yml file won't get recognized. I need to push an update to say the actual script or something else in the same repository so it picks up the cron schedule change?

@Aqib121201

This comment was marked as off-topic.

@F6PJoe
Comment options

ok I'll give it a shot and let you know. thanks.

Comment options

You must be logged in to vote
0 replies
Comment options

Based on your description, I can identify several potential issues with your GitHub Actions scheduled workflows:

Main Issues:

1. Daylight Saving Time (DST) Change

ET recently switched to EST (Daylight Saving Time ended on Nov 3, 2025). This changes the UTC offset:

  • EDT (summer): UTC-4
  • EST (winter): UTC-5

Your cron schedules might still be using EDT calculations. For EST, you need to add 5 hours, not 4.

2. Cron Syntax Issues

Looking at your evening schedules:

cron: '8,23,38,53 0-3 * * 2-6'  # Weekday evenings

This runs Tuesday-Saturday (days 2-6) at UTC 00:08-03:53. But if you want Monday-Friday evenings in ET:

  • Monday 7 PM ET = Tuesday 00:00 UTC (day 2)
  • Tuesday 7 PM ET = Wednesday 00:00 UTC (day 3)
  • etc.

The day-of-week crossover at midnight UTC is tricky.

3. Workflow Registration

GitHub Actions requires the workflow file to be on the default branch AND you must push a commit after schedule changes for GitHub to re-register the cron schedule.

Solutions:

For EST (current):

Weekdays 2:08-5:38 PM EST (19:08-22:38 UTC):

cron: '8,38 19-22 * * 1-5'

Weekdays 6:08-10:53 PM EST spans midnight UTC:

  • Before midnight: 23:08-23:53 UTC Monday-Friday
  • After midnight: 00:08-03:53 UTC Tuesday-Saturday
# Before midnight portion
cron: '8,23,38,53 23 * * 1-5'
# After midnight portion  
cron: '8,23,38,53 0-3 * * 2-6'

Debugging Steps:

  1. Verify default branch: Your workflow must be in .github/workflows/ on your repository's default branch (usually main or master)

  2. Test with simple schedule: Try this simple test:

on:
  schedule:
    - cron: '*/10 * * * *'  # Every 10 minutes

Commit, push, and wait 15 minutes to confirm scheduling works at all.

  1. After ANY schedule change: Make a commit (even just adding a comment) and push to trigger re-registration:
# Updated schedule - 2025-11-13
on:
  schedule:
    - cron: '...'  
  1. Check Actions tab: Go to your repository → Actions → Click your workflow → Look for any error messages or disabled workflows

  2. Repository settings: Ensure Actions are enabled: Settings → Actions → General → Allow all actions

Alternative Approach:

If cross-midnight schedules keep failing, split into two separate workflow files:

workflow-daytime.yml:

on:
  schedule:
    - cron: '8,38 19-22 * * 1-5'      # 2:08-5:38 PM EST
    - cron: '8,23,38,53 23 * * 1-5'   # 6:08-6:53 PM EST

workflow-evening.yml:

on:
  schedule:
    - cron: '8,23,38,53 0-3 * * 2-6'  # 7:08-10:53 PM EST

Known GitHub Actions Limitations:

  • Scheduled workflows can be delayed up to 15 minutes during high load
  • If a repository has no activity for 60 days, schedules are automatically disabled
  • Free tier repos have usage limits

After making changes, commit and push, then monitor the Actions tab for the next scheduled time. If it still doesn't trigger after the UTC time passes, there might be a GitHub-side issue requiring support escalation (which is available even for free accounts via GitHub Community or support tickets for Actions-related issues).

You must be logged in to vote
0 replies
Comment options

🕒 Discussion Activity Reminder 🕒

This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions:

1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as out of date at the bottom of the page.

2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own.

3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution.

Note: This dormant notification will only apply to Discussions with the Question label. To learn more, see our recent announcement.

Thank you for helping bring this Discussion to a resolution! 💬

You must be logged in to vote
0 replies
Comment options

+1 to the DST + UTC crossover points in the other reply.

Two additional practical gotchas with GitHub schedules:

  • Schedules are best-effort and can be delayed/dropped under load (especially right at :00). If you can, avoid scheduling exactly on the hour and use e.g. 8,23,38,53 (like you’re doing) or another “random-ish” minute.
  • When you span midnight UTC, the day-of-week field gets confusing fast. A simpler approach is often:
    1. schedule in UTC only (ignore local time),
    2. or use an external scheduler in your local timezone that triggers workflow_dispatch.

If the workflow stops triggering entirely after a schedule edit, a trivial commit to the workflow file on the default branch can force re-registration.

(And if you need an alert when it doesn’t run, an external dead-man’s-switch monitor is the only reliable way.)

You must be logged in to vote
0 replies
Comment options

🕒 Discussion Activity Reminder 🕒

This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions:

1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as out of date at the bottom of the page.

2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own.

3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution.

Note: This dormant notification will only apply to Discussions with the Question label. To learn more, see our recent announcement.

Thank you for helping bring this Discussion to a resolution! 💬

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Actions Build, test, and automate your deployment pipeline with world-class CI/CD Question Ask and answer questions about GitHub features and usage inactive This discussion has been automatically marked as inactive. This was formerly labeled stale. Schedule & Cron Jobs Topics about scheduled workflows, cron timing, and related scheduling concerns in GitHub Actions. Misc General discussions about GitHub Actions that don't fit other found themes.
5 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.