* 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>
tarballs
Static Vercel project that builds and serves preview tarballs for every public package in packages/*.
For each public package, scripts/pack.ts:
- Rewrites the package version to
<version>-<git-sha>, updates generated version files to match, and rewrites every workspace dependency to a tarball URL on the current Vercel deployment (https://$VERCEL_URL/<escaped-name>.tgz). - Runs
pnpm packand writes the result topublic/<escaped-name>.tgz. - Restores the original
package.jsonand generated version files.
It also generates a public/index.html that lists every published package alongside a copyable pnpm i … command, so the bare deployment URL is itself useful when shared.
The deployment serves the resulting *.tgz files at the root of the project URL — e.g. https://<deployment>.vercel.sh/workflow.tgz.
This is used for pre-release testing of vercel/workflow PRs by installing tarballs directly:
{
"dependencies": {
"workflow": "https://<deployment>.vercel.sh/workflow.tgz"
}
}
The Vercel project must be configured to be publicly accessible (no Deployment Protection on previews or production) so that pnpm/npm can fetch tarball URLs from third-party projects. The smoke check (scripts/check-tarballs-smoke.mjs) verifies this on every deployment and fails loudly if the deployment is behind a login redirect.