Skip to content

fix(ci): give the Website Vercel build its growth form policy - #981

Merged
blove merged 1 commit into
mainfrom
blove/fix-website-deploy-growth-policy
Sep 3, 2026
Merged

fix(ci): give the Website Vercel build its growth form policy#981
blove merged 1 commit into
mainfrom
blove/fix-website-deploy-growth-policy

Conversation

@blove

@blove blove commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

The deploy job's npx vercel build fails on main:

Error: GROWTH_FORM_POLICY must be growth_v1
Error: Command "npx nx build website" exited with 1

The Website preview is therefore never built, every later step skips — embedding-policy verification, Website promotion, the cockpit redirect build, cockpit promotion — and production has not promoted since the control-plane arc landed.

Root cause

#968 added the assertion in apps/website/src/lib/growth/form-policy.ts:35 and set GROWTH_FORM_POLICY for the website job, but not for the deploy job's build.

It cannot come from vercel pull. The project marks GROWTH_FORM_POLICY sensitive for preview and production:

target=preview      type=sensitive  value=''
target=production   type=sensitive  value=''

Vercel never returns a sensitive value, so the pulled .env omits it and the runner-side vercel build throws. A Vercel-side cloud build would have it; our --prebuilt flow does not. That is why #968's own CI was green — the website job hardcodes the value.

Fix

Set it on the build step, mirroring the website job. It is not a secret (the existing comment in that job says so), and runtime is unaffected — Vercel still injects the sensitive value into the deployed function.

Verification

  • The CI log shows that exact error string from form-policy.ts:35.
  • GROWTH_FORM_POLICY is confirmed type=sensitive with an empty readback via the Vercel API.
  • The website job, which sets the same value, builds green every run.
  • ci-workflow.spec.mjs: 36/36.

🤖 Generated with Claude Code

The deploy job's `npx vercel build` fails on main:

    Error: GROWTH_FORM_POLICY must be growth_v1
    Error: Command "npx nx build website" exited with 1

so the Website preview is never built, every later step skips, and production
has not promoted since the control-plane arc landed.

#968 added the assertion in apps/website/src/lib/growth/form-policy.ts and set
GROWTH_FORM_POLICY for the `website` job, but not for the deploy job's build.
It cannot come from `vercel pull`: the project marks GROWTH_FORM_POLICY
sensitive for preview and production, and Vercel never returns a sensitive
value, so the pulled .env omits it. A Vercel-side cloud build would have it;
our prebuilt-on-runner build does not.

Set it on the build step, mirroring the `website` job. It is not a secret, and
runtime is unaffected — Vercel still injects the sensitive value into the
deployed function.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 3, 2026 6:38am UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit 0c38d83 into main Sep 3, 2026
76 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant