type: decision
status: active
timestamp: 2026-06-20
tags: [decisions, architecture, cron, cloudflare, github-actions]

Cron split — Cloudflare Cron Triggers + GitHub Actions schedule, by job shape

Cron on both substrates. CF Triggers for low-latency, GH Actions for heavy jobs; GH Actions schedule for build / publish jobs that need a runner. Pick by the job's shape, not by convenience.

Cron split — Cloudflare Cron Triggers + GitHub Actions schedule, by job shape

Decision

The family runs cron jobs on both Cloudflare Cron Triggers and GitHub Actions schedule:. The substrate is picked by the job’s shape, not by convenience:

Why

Implications

Decision matrix (the on-ramp question for new jobs)

Does the job need pnpm / wrangler / gh / repo checkout / npm publish?
+-- YES ? GitHub Actions schedule
+-- NO  ? Does it need < 5 min latency or Worker bindings?
         +-- YES ? Cloudflare Cron Triggers
         +-- NO  ? Either; default to CF Cron Triggers (cheaper minutes-budget)

Cross-refs


Edit on GitHub · Back to index