Use default runner Playwright browsers#94072
Conversation
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles
Server Middleware
Build DetailsBuild Manifests
📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
📎 Tarball URLCommit: 8b9a687 |
Failing test suitesCommit: 8b9a687 | About building and testing Next.js
Expand output● root-layout-redirect › should work using browser
Expand output● next-image-events › should not call onLoad multiple times
Expand output● Custom routes i18n › should navigate on the client with rewrites correctly
Expand output● bfcache-regression › should preserve interactivity after navigating back from another page via MPA navigation
Expand output● route-page-manifest-bug › should work when requesting route handler after page
Expand output● navigation between pages and app dir › It should be able to navigate pages -> app and go back an forward ● navigation between pages and app dir › It should be able to navigate app -> pages and go back and forward
Expand output● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering ● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering
Expand output● allowed-dev-origins, basePath: "" › default blocking › should block WebSocket from cross-site ● allowed-dev-origins, basePath: "" › configured allowed origins › should allow dev WebSocket from configured cross-site ● allowed-dev-origins, basePath: "/docs" › default blocking › should block WebSocket from cross-site ● allowed-dev-origins, basePath: "/docs" › configured allowed origins › should allow dev WebSocket from configured cross-site
Expand output● dynamic metadata error › should error if the default export of dynamic image is missing ● Test suite failed to run
Expand output● root-layout-redirect › should work using browser
Expand output● Image Component App Dir Tests › should callback native onLoad with sythetic event
Expand output● next-image-events › should not call onLoad multiple times
Expand output● Production Usage › should navigate to external site and back ● Production Usage › should navigate to external site and back (with query) ● Production Usage › Misc › should reload the page on page script error ● Production Usage › Misc › should reload the page on page script error with prefetch
Expand output● root-layout-redirect › should work using browser
Expand output● instant-navigation-testing-api › renders runtime-prefetched content instantly during navigation
Expand output● next-image-events › should not call onLoad multiple times
Expand output● Custom routes i18n › should navigate on the client with rewrites correctly
Expand output● bfcache-regression › should preserve interactivity after navigating back from another page via MPA navigation
Expand output● route-page-manifest-bug › should work when requesting route handler after page
Expand output● navigation between pages and app dir › It should be able to navigate pages -> app and go back an forward ● navigation between pages and app dir › It should be able to navigate app -> pages and go back and forward
Expand output● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering ● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering
Expand output● root-layout-redirect › should work using browser
Expand output● next-image-events › should not call onLoad multiple times
Expand output● Custom routes i18n › should navigate on the client with rewrites correctly
Expand output● bfcache-regression › should preserve interactivity after navigating back from another page via MPA navigation
Expand output● route-page-manifest-bug › should work when requesting route handler after page
Expand output● navigation between pages and app dir › It should be able to navigate pages -> app and go back an forward ● navigation between pages and app dir › It should be able to navigate app -> pages and go back and forward
Expand output● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering ● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering
Expand output● app dir - not found navigation › should allow navigating to a non-existent page
Expand output● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering ● missing-suspense-with-csr-bailout › next/dynamic › does not emit errors related to bailing out of client side rendering
Expand output● route-page-manifest-bug › should work when requesting route handler after page
... truncated to fit in one GitHub comment ... |
What?
Run Playwright CI jobs directly on the GitHub Actions runner and use the runner-provided Chrome for Chromium tests instead of using a Playwright Docker container or installing Chromium at runtime.
Why?
GitHub-hosted runners already provide Chrome, so Chromium jobs can avoid both the container initialization cost and the
pnpm playwright install --with-deps chromiumstep.How?
build_reusable.yml.NEXT_TEST_PLAYWRIGHT_CHROMIUM_CHANNEL=chromefor Chromium browser jobs.chromium.launch().pnpm playwright install --with-depsonly for non-Chromium browser jobs, because the runner image does not provide Playwright WebKit.build_and_test.yml.Verification
git diff --checkruby -e 'require "yaml"; ARGV.each { |f| YAML.load_file(f); puts "ok #{f}" }' .github/workflows/build_reusable.yml .github/workflows/build_and_test.ymlpnpm prettier --with-node-modules --ignore-path .prettierignore --write .github/workflows/build_reusable.yml .github/workflows/build_and_test.yml test/lib/browsers/playwright.ts test/development/mcp-server/mcp-server-get-errors.test.ts test/development/mcp-server/test-utils.ts(prettiercommand is not available in this checkout)