Runbook — Vercel didn’t deploy on merge
A PR was merged to main but no production deployment appeared on Vercel.
How to confirm
-
Confirm the merge commit is actually on
origin/main:git fetch origin main && git log origin/main --oneline -3 -
Check whether Vercel created any deployment for that commit. In the Vercel dashboard (project
hellobello-website, team “Hello Bello”) look for aProductiondeployment matching the merge SHA. Or via the GitHub deployments API:gh api repos/launched-la/website/deployments \ --jq '.[] | select(.sha|startswith("<merge-sha>")) | {env:.environment, created:.created_at}'- No record at all (not even building/queued) within a few minutes → Vercel never received the push webhook. Vercel records a deployment the instant it gets the webhook, so total absence means a missed webhook, not a slow build.
Root cause
Vercel’s GitHub integration occasionally misses a push webhook. The production branch is main
and auto-deploy normally works — every prior main merge produced a Production deployment within
~1–2 min. An isolated miss is an integration hiccup, not a config problem.
Fix (any one of these)
-
Vercel dashboard → project → Deployments → Redeploy the latest
main(or “Create Deployment”). Cleanest; deploys the exact merge commit. -
Empty commit to re-fire the webhook:
git commit --allow-empty -m "chore: re-trigger Vercel deploy (missed webhook)" && git push origin main
Prevention
- Nothing to fix in our code — it’s upstream. If misses become frequent, consider a GitHub Action that
pings the Vercel Deploy Hook on push to
mainas a backstop.