fix(vercel): disable previews for release/ and other unlisted branch prefixes - #66
Merged
Merged
Conversation
We do not use preview deployments -- GitHub Actions CI is the gate -- but deploymentEnabled is deny-by-enumeration, so any prefix missing from the map silently gets one. release/** was missing, which is why the v1.0.11 release-prep PR (#65) was the first branch in months to trigger a preview, and it failed at resource provisioning. Adds release/, hotfix/, revert/, perf/, build/ and ci/, and documents why the safe-looking alternatives are wrong: the boolean form deploymentEnabled: false disables every branch including main and would stop production shipping, and a bare '*': false matches the single-segment main for the same reason minimatch made dependabot/* fail. main stays deliberately absent from the map -- unlisted defaults to true, and that omission is what keeps production deploying.
This was referenced Jul 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the failing
Vercelcheck on #65. The cause was in our own config, not the platform — I had earlier guessed at an unprovisioned preview environment, which was wrong.What actually happened
vercel.tsalready disables preview deployments, by enumerating branch prefixes:release/**was not on that list. Sorelease/v1.0.11-prepwas the first branch in months to trigger a preview, and it failed at resource provisioning — which is why #59–#64 (allfix/**) showed no Vercel check at all and #65 did. GitHub has recorded exactly 2 preview deployments for this repo, ever: both from #65.Why not just turn previews off wholesale
Two obvious-looking fixes are both wrong, and the comment now says so:
deploymentEnabled: false(boolean form) — per Vercel's docs this "prevents any branch from triggering a deployment",mainincluded. That stops production shipping.'*': false— minimatch's single*does not cross/, so it matches the single-segmentmain. Same outcome. This is the identical trap that made the olddependabot/*entry silently never match, which the existing comment already records.So it stays deny-by-enumeration.
mainis deliberately absent from the map — unlisted branches default totrue, and that omission is exactly what keeps production deploying.Change
Adds
release/**, plushotfix/**,revert/**,perf/**,build/**,ci/**so the next unlisted prefix doesn't repeat this. Documents the design and its one real cost: an unlisted prefix silently gets a preview, so the list has to track the prefixes actually in use. That residual fragility is inherent to the object form — worth knowing rather than papering over.No behaviour change for any existing branch;
mainand production are untouched.Verification
npx tsc --noEmit -p .clean — the same command CI's "Config (vercel.ts typecheck)" job runs.This branch is
fix/**, so it is itself preview-disabled — the check that failed on #65 should simply not appear here.