Skip to content

fix(site): build the docs deploy with the command CI already runs, so the production build stops failing (objectui#12178) - #12179

Closed
hotlong wants to merge 1 commit into
mainfrom
claude/docs-build-turbo-closure
Closed

hotlong wants to merge 1 commit into
mainfrom
claude/docs-build-turbo-closure

Conversation

@hotlong

@hotlong hotlong commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Refs: #12178

Why

objectui.org has not deployed since 2026-09-06. All 2023 Vercel production builds since then failed with Module not found: Can't resolve '@object-ui/example-schema-catalog', about 9,400 billed build-minutes for nothing. #12178 has the deployment ids, the log excerpt, and the diagnosis:

What

Adds apps/site/vercel.json. Vercel reads it from the project's Root Directory (apps/site), and its values override the dashboard settings.

  • buildCommand: cd ../.. && pnpm turbo run build --filter=@object-ui/site. This is the command ci.yml's Build Site step runs, started from the repo root, and the same thing the root site:build script runs. It also builds only the site's dependency closure instead of every package under packages/.
  • installCommand: pnpm i, unchanged from the dashboard. It is now written down in the repo.

No changeset: @object-ui/site is in the changesets ignore list (the presence gate agrees). This does not touch any governed surface (check-governed-queue-guard.mjs --test says NOT GOVERNED).

How to verify

  • Before merge: the PR's Vercel preview is cancelled by the project's Ignored Build Step, which only builds production. So nothing on Vercel exercises this until after merge. The evidence that the command works is CI: on 2498a07538, the same commit as the latest failed Vercel deployment, push run 38194536766's Build Docs job ran this command for real (Tasks: 30 successful, 30 total, including @object-ui/example-schema-catalog:build) and passed.
  • After merge: the next production deployment of the Vercel project objectui should be READY, and objectui.org should show post-2026-09-06 content. Only after seeing that should objectui.org has not deployed since 2026-09-06: every Vercel production build fails to resolve @object-ui/example-schema-catalog, because the dashboard build command stopped building it when #7986 removed apps/site's prebuild hook #12178 be shut, by hand; this PR deliberately carries no closing keyword.
  • One residual risk, not measured: Vercel's build machine is 4 cores and 8 GB, and turbo runs more tasks in parallel than the old pnpm -r did. If that production build fails on memory, this PR still holds, and the follow-up that moves the build onto GitHub Actions runners (16 GB, free on this public repo) covers it.

Follow-up, separate PR: the docs deploy moves into a GitHub Actions workflow and Vercel's Git-triggered builds are turned off. That PR adds one key to this same file, so merge this one first.

🤖 Generated with Claude Code

… the production build stops failing (objectui#12178)

Every production build of the Vercel project `objectui` (Root Directory
`apps/site`) has failed since 2026-09-06 with
`Module not found: Can't resolve '@object-ui/example-schema-catalog'`, so
objectui.org has been frozen since then.

The project's build command only exists in the Vercel dashboard:
`pnpm --filter '../../packages/*' -r build && pnpm build`. Its filter selects
`packages/*` only and never builds `examples/schema-catalog`, whose `exports`
resolve only into `dist/`. Until #7986 that gap was covered by `apps/site`'s
`prebuild` hook (`pnpm --filter @object-ui/example-schema-catalog build`).
#7986 removed the hook on purpose so that turbo's `^build` is the only source of
build order, and moved every in-repo path to the turbo form, including the root
`site:build` script. The dashboard command lives outside the repo, so it was not
updated. The deployment for #7986's commit is the first ERROR, and the one for
the commit before it is the last READY.

CI's `Build Docs` stayed green the whole time because it runs
`pnpm turbo run build --filter='@object-ui/site'`, which builds the site's
dependency closure, schema catalog included. This adds `apps/site/vercel.json`,
which Vercel reads from the Root Directory and which overrides the dashboard
values. Its `buildCommand` is that same turbo command, run from the repo root,
and its `installCommand` keeps the dashboard's current `pnpm i`. With that, the
deploy's build is in the repo and is the build CI validates.

Refs: objectui#12178

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hotlong

hotlong commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #12182, which carries this commit (cc39b9c) unchanged plus the GitHub Actions deploy. Closing so apps/site/vercel.json lands once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant