Skip to content

ADR-0009: Limit Vercel deployments

Guide

ADR-0009: Limit Vercel deployments

  • Status: Accepted · Date: 2026-05-30

Context

The Vercel Hobby plan allows 100 deployments/day. With the intranet GitHub-connected (auto-deploy on every push) and our high commit/push cadence — pushing each commit to both main (production) and the working branch (preview) — we were exhausting the daily budget.

Decision

Three levers (intranet/vercel.json + intranet/scripts/vercel-ignore.sh):

  1. No preview deploys. Disable Git deployments for the working branch (git.deploymentEnabled), so only the production branch deploys. Previews are verified locally and by CI (.github/workflows/ci.yml builds the intranet).
  2. Path-gated production builds. An Ignored Build Step skips the build when a commit changes no portal-relevant content (e.g. pure archive/ mirror, manifest, scripts, or CI commits).
  3. Batch pushes. Promote to main once per session/milestone, not per commit — an operating discipline (SOP-003), since each main push is a deploy.

Consequences

  • Deployments drop from ~2-per-commit to roughly one per session of portal changes; build minutes are saved on no-op commits.
  • Previews are off — rely on npm run build locally and CI for pre-merge checks.
  • Template note: the disabled branch name in vercel.json is repo-specific; update it (or the production-branch setting) per instantiation.