Guides
Moving from schedule:
Switch an existing scheduled workflow over without running it twice, and how to switch back.
The change
Replace the schedule: block with workflow_dispatch: plus a marker holding the same cron. Keep your other triggers as they are.
on:
push:
branches: [main]
schedule:
- cron: "0 3 * * *"on:
push:
branches: [main]
workflow_dispatch:
# cronkick: "0 3 * * *"Remove schedule:
If both stayed, GitHub would run its own scheduled copy too, and the job would run twice. So Cronkick marks such a workflow Needs a fix and doesn’t send it until schedule: is gone.
From the dashboard
Your dashboard lists every workflow still on schedule:, with the exact lines to change and a link to edit the file on GitHub. If a cron runs faster than your plan allows, it offers a version that fits.
To leave a workflow on GitHub’s scheduler, choose Keep it on GitHub. It moves to a hidden list, and you can show it again any time.
Check what the workflow reads
A dispatched run has github.event_name == 'workflow_dispatch' and no github.event.schedule. If a step relies on either, see Compatibility checks.
Go back to GitHub’s scheduler
Your workflows keep workflow_dispatch:, so leaving takes one commit per workflow. If Cronkick is down there is no automatic fallback, so this is also what to do if you can’t wait for it.
- Put the cron from the marker back under
schedule:. A marker withtz=becomes atimezone:line; without one, both run in UTC. - Delete the
# cronkickline in the same commit, and push to the default branch. - When every workflow is moved, uninstall the GitHub App (or remove the repositories from it) in your GitHub settings.
on:
workflow_dispatch:
# cronkick: "0 9 * * 1-5" tz=Europe/Berlinon:
workflow_dispatch:
schedule:
- cron: "0 9 * * 1-5"
timezone: "Europe/Berlin"Don’t keep both
Remove the marker in the same commit that adds schedule:. Both together would run the job twice, so while the app is installed Cronkick stops sending a workflow that has both and marks it Needs a fix.