type: decision
status: active
timestamp: 2026-06-20
tags: [ci, workflows, github-actions, repos]

Per-repo CI workflows; master matrix only owns deploys

REVERSES master-matrix CI. Each repo owns its ci.yml

Per-repo CI workflows; master matrix only owns deploys

Decision

Each repo (every site under sites/, every extension under extensions/, every package under packages/) owns its own .github/workflows/ci.yml that runs lint + typecheck + build on every PR. The master matrix workflow at chirag127/oriz/.github/workflows/deploy.yml no longer runs CI gating — it now ONLY owns production deploys (matrix over every site, deploys to its Cloudflare Pages target).

Why

The earlier “one matrix workflow runs everything” approach made PRs inside a sub-repo unable to gate themselves — the matrix only triggered on the master pointer bump. That pushed breakage into master repeatedly. Per-repo CI catches breakage at PR time, in the repo where the change actually lives, with the contributor watching the green/red mark in their own PR. Master matrix stays useful for “deploy everything when a pointer bumps” without doubling as a CI gate it can’t fulfil.

Implications

Cross-refs


Edit on GitHub · Back to index