ci(ecosystem): declare playwright via repo.json + bump consumers to >=1.60#1668
Draft
fengmk2 wants to merge 7 commits into
Draft
ci(ecosystem): declare playwright via repo.json + bump consumers to >=1.60#1668fengmk2 wants to merge 7 commits into
fengmk2 wants to merge 7 commits into
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
… 1.60 `npx playwright install chromium` wedges after the download bar reaches 100% under Node 24.16.0+ with Playwright < 1.60 (microsoft/playwright#40724, fixed in 1.60.0 via #40747). This was silently consuming the full 10-min timeout on vibe-dashboard, vitepress, tanstack-start-helloworld, and vitest-playwright-repro every nightly run, because vp env happens to pick 24.16.0 for them. Make Playwright a first-class declaration: - repo.json gains `"playwright": true` on the 5 projects that need it (vibe-dashboard, vitepress, tanstack-start-helloworld, vitest-playwright-repro, vite-vue-vercel). - patch-project.ts reads the flag and writes a `pnpm.overrides.playwright` entry pinned to `^1.60.0`. The override applies uniformly across direct deps, catalog entries (vibe-dashboard), and transitive-only cases (vitest-playwright-repro via @vitest/browser-playwright). - e2e-test.yml adds a single `Install Playwright chromium` step gated on the repo.json flag (read via jq), removing the duplicated `npx playwright install chromium` lines from the 5 per-project command blocks.
68672f6 to
e9096c7
Compare
…lockfile) Upstream vibe-dashboard main now has playwright@1.60.0 pinned in pnpm-lock.yaml via the existing catalog `^1.58.2`. Bumping the hash so e2e tests exercise the installed-version state instead of relying solely on patch-project.ts's pnpm override.
…oject.ts Pre-version-bumping each project (so its lockfile resolves playwright >= 1.60 directly) is the right place to enforce the version — overriding it inside patch-project.ts produced several pitfalls: - pkg.pnpm.overrides is ignored by npm-managed projects (vitest-playwright-repro uses npm); the override never reached the lockfile and the wedge returned - override targeted the bare `playwright` package, missing vitepress which depends on `playwright-chromium` - writing pkg.pnpm before vp migrate flipped migrator branches and could mask upstream pnpm-workspace.yaml overrides on forceFreshMigration projects The repo.json `"playwright": true` flag still drives the workflow's "Install Playwright chromium" step; the actual version pinning will be handled at the upstream project level instead.
…mium branch Pointing at fengmk2/vitepress so the playwright-chromium upgrade can land on feat/vite-8-and-fix-playwright-chromium without waiting on the upstream vuejs/vitepress merge.
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.
Nightly E2E hangs in
npx playwright install chromiumon 4 projects whosevp envpicks Node 24.16.0 — upstream microsoft/playwright#40724, fixed in Playwright 1.60.0.repo.json: add"playwright": trueflag (5 projects).e2e-test.yml: oneInstall Playwright chromiumstep gated on the flag (viajq); inlinenpx playwright install chromiumremoved from 5command:blocks.