Skip to content

fix(test): pin React in deploy suite fixtures - #3229

Merged
james-elicx merged 1 commit into
mainfrom
codex/fix-deploy-suite-regressions
Sep 11, 2026
Merged

fix(test): pin React in deploy suite fixtures#3229
james-elicx merged 1 commit into
mainfrom
codex/fix-deploy-suite-regressions

Conversation

@james-elicx

Copy link
Copy Markdown
Member

Summary

  • pin react, react-dom, and react-server-dom-webpack in throwaway App Router deploy fixtures to the exact versions from the frozen vinext workspace install
  • classify the webpack-specific next-dynamic-csp-nonce preload assertion as requiring the existing Vite/Cloudflare equivalent
  • cover the generated fixture manifest with a focused regression test

Regression analysis

The deploy suite moved from 2,688 passed / 116 failed / 631 skipped in run 34301853704 to 2,674 / 130 / 631 in run 34428108977.

A same-head rerun reproduced 13 pass-to-fail assertions. Twelve were production RSC error-message/recovery assertions: the deploy harness creates lockfile-free apps from open React peer ranges, so the publication of react-server-dom-webpack@19.3.0 changed the installed runtime independently of vinext and replaced the prior production error with minified React error #441. Re-running the older vinext SHA against today's registry reproduced that failure, confirming dependency drift rather than a vinext source regression.

The remaining persistent assertion expects Next.js/webpack's rel=preload shape. Vinext intentionally emits modulepreload for Vite ES-module chunks to avoid duplicate downloads, and the CSP nonce is covered by tests/e2e/cloudflare-workers/dynamic-preload.spec.ts. One additional i18n failure did not reproduce and was a flake.

Validation

  • vp test run tests/e2e-deploy-script.test.ts tests/compatibility-support.test.ts (14 passed)
  • vp check tests/e2e-deploy-script.test.ts apps/web/app/compatibility/suite-support.ts tests/compatibility-support.test.ts
  • bash -n scripts/e2e-deploy.sh
  • git diff --check

@james-elicx

Copy link
Copy Markdown
Member Author

/bigbonk review for issues

@pkg-pr-new

pkg-pr-new Bot commented Sep 11, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@vinext/cloudflare@3229
npm i https://pkg.pr.new/create-vinext-app@3229
npm i https://pkg.pr.new/@vinext/types@3229
npm i https://pkg.pr.new/vinext@3229

commit: 6267a68

@github-actions

Copy link
Copy Markdown
Contributor
Example Preview Production Original
app-router-cloudflare preview production
pages-router-cloudflare preview production
app-router-playground preview production original
realworld-api-rest preview production
nextra-docs-template preview production
benchmarks preview production
hackernews preview production original
workers-cache preview production
static-export preview production
web preview production

@github-actions

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 6267a68 against base f103e80 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 0 regressed · 6 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.4 KB 142.4 KB ⚫ 0.0%
Client entry size (gzip) vinext 129.7 KB 129.7 KB ⚫ +0.0%
Dev server cold start vinext 3.17 s 3.15 s ⚫ -0.8%
Production build time vinext 3.29 s 3.29 s ⚫ +0.1%
RSC entry closure size (gzip) vinext 125.4 KB 125.5 KB ⚫ +0.0%
Server bundle size (gzip) vinext 216.1 KB 216.1 KB ⚫ -0.0%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

@ask-bonk

ask-bonk Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

LGTM!

github run

@james-elicx
james-elicx marked this pull request as ready for review September 11, 2026 10:02
@james-elicx
james-elicx merged commit 13e7d9c into main Sep 11, 2026
73 checks passed
@james-elicx
james-elicx deleted the codex/fix-deploy-suite-regressions branch September 11, 2026 10:02
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