ci: build example apps to catch dependency and tailwind breakage - #3480
Open
jordanl17 wants to merge 1 commit into
Open
ci: build example apps to catch dependency and tailwind breakage#3480jordanl17 wants to merge 1 commit into
jordanl17 wants to merge 1 commit into
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
5 Skipped Deployments
|
stipsan
approved these changes
Aug 4, 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.
What
Adds a
build-appsCI job that builds the example apps, so build breakages (undeclared dependencies, framework/major dependency bumps, Tailwind v4-style PostCSS breakage) are caught at PR time instead of only surfacing on a Vercel cache miss.Today CI runs
pnpm build --filter=!./apps/*(apps excluded) and the turbo remote cache (shared by CI and Vercel) replays stale package successes, so broken app builds go unnoticed until Vercel misses cache. This job closes that gap. It passes--forceto bypass the turbo cache so latent breakage is not masked.How
next build --experimental-build-mode=compile. This runs the Turbopack compile + PostCSS/Tailwind stage (where undeclared-dep and dependency/Tailwind breakage actually fails) without collecting page data or prerendering.The job mirrors the existing
buildjob setup (checkout, pnpm/action-setup, setup-node with pnpm cache, TURBO_TOKEN/TURBO_TEAM,pnpm install --ignore-scripts).Limitation / tradeoff
There is no
SANITY_API_READ_TOKENsecret in the repo. The apps read that token at module load and throw without it, and the Pages Router pages (getStaticProps) and App Router dynamic routes fetch live Sanity data at build time - a fullnext buildreturns401 Unauthorizedand fails collecting page data. A full app build therefore cannot pass deterministically in CI without that secret and live data.Compile mode is the largest deterministically-green check that still catches the target breakage class. Verified locally that it catches both a used undeclared import (
Module not found) and a bad Tailwind utility (Cannot apply unknown utility class), while a clean tree exits 0. It does not catch breakage that only manifests during prerender/data-collection; covering that would require provisioning a read token and stable build-time data.Stacked on #(fix/next-build-time-sanity-fetch) so the diff stays narrow and CI runs against the dependency/Tailwind fixes on that branch.