Files
Pranay Prakash 11dc036854 ci: stop deploying changeset-release/main, run its e2e against production (#3243)
* ci: stop deploying changeset-release/main, run its e2e against production

The changesets action force-pushes `changeset-release/main`, and it can
point at exactly main's HEAD SHA. Vercel keeps one commit status per
project per SHA, so when both a production deployment (from main) and a
preview deployment (from changeset-release/main) are built for the same
commit, whichever finishes last owns the status. On 2026-07-30 the
preview finished last, so `vercel/wait-for-deployment-action` — which
reads the deployment ID out of that status — handed production e2e runs
a preview deployment ID and forked runs across environments.

Disable git deployments for that branch in every Vercel project rooted
in this repo, and give the changeset PR's Vercel e2e lanes a deployment
to test that actually exists: main's production deployment for the PR's
base SHA, resolved by SHA so a mid-flight production build is waited out
rather than silently replaced by an older one.

Signed-off-by: Pranay Prakash <pranay.gp@gmail.com>

* ci: resolve changeset-release e2e deployments with the wait action, tokenless

Per review: with changeset-release/main no longer deployed, main SHAs
can never again be deployed to a second environment of these projects,
so the per-SHA commit status the action reads is unambiguous for
exactly this lane. Reuse vercel/wait-for-deployment-action with
environment: production and sha pinned to the PR base SHA instead of
the Vercel-API polling script, drop the script and its VERCEL_TOKEN
usage, and inherit the action's inactive/skipped-build handling.

Signed-off-by: Pranay Prakash <pranay.gp@gmail.com>

---------

Signed-off-by: Pranay Prakash <pranay.gp@gmail.com>
2026-07-31 10:09:36 -07:00
..
2025-10-23 12:07:52 +03:00
2025-10-23 12:07:52 +03:00
2025-10-23 12:07:52 +03:00
2025-10-23 12:07:52 +03:00
2025-11-08 18:25:49 -08:00
2025-10-23 12:07:52 +03:00
2025-10-23 12:07:52 +03:00

Clone of ../nextjs-turbopack

This directory is mostly a clone of the turbopack workbench with nearly everything symlinked to the directory.

The package.json is notably different - it uses --webpack for dev and build modes.

Most files/directories are symlinked to ../nextjs-turbopack:

  • app/ - All files inside are symlinked (not the directory itself)
  • workflows/ - Symlinked directory
  • util/ - Symlinked directory
  • public/ - Symlinked directory
  • instrumentation.ts - Symlinked file
  • postcss.config.mjs - Symlinked file
  • tsconfig.json - Symlinked file
  • turbo.json - Symlinked file

A few specific files are NOT symlinked:

  • app/favicon.ico - Real file (symlink doesn't work with Next.js)
  • app/.well-known/ - Generated directory by workflow
  • .gitignore - Real file
  • next.config.ts - Different configuration (webpack-specific)
  • package.json - Different configuration (--webpack flag)

Next.js dev mode doesn't work well with symlinks. In CI, the resolve-symlinks.sh script automatically runs before starting the dev server to replace all symlinks with actual file copies. The script:

  • Only runs when CI environment variable is set
  • Resolves all symlinks in the directory (excluding gitignored files like node_modules)
  • Preserves the directory structure while replacing symlinks with real files