Skip to content

ci: Skip Playwright install for e2e apps without @playwright/test - #23722

Merged
mydea merged 0 commit into
fn/bundler-graphql-runtimefrom
fn/e2e-skip-playwright
Aug 28, 2026
Merged

mydea merged 0 commit into
fn/bundler-graphql-runtimefrom
fn/e2e-skip-playwright

Conversation

@mydea

@mydea mydea commented Aug 28, 2026

Copy link
Copy Markdown
Member

The e2e jobs install Playwright browsers for every test application, via the shared install-playwright action. A number of apps assert through a plain node script and never depend on @playwright/test — the five node bundler apps (node-vite, node-webpack, node-rollup, node-rolldown, node-esbuild), node-exports-test-app, and a handful of others. For those the install is wasted CI time, and it's latently broken: the action's "Get Playwright version" step does require('@playwright/test/package.json') in the app directory, which throws when the package isn't installed there.

This moves the decision into the install-playwright action itself. The version step now resolves @playwright/test defensively and emits an empty version when it's absent instead of failing; the cache-restore, browser-install, and cache-save steps are gated on a non-empty version, so an app without Playwright simply skips them. Apps that use Playwright are unaffected.

Decisions

  • Decide in the action, not the workflow. Keeping it in install-playwright means every caller (both e2e jobs today, and any future one) gets the skip for free, with nothing to wire up per call site or per app.
  • Key off the resolvable dependency, not a config flag. Whether @playwright/test resolves from the app is the source of truth for whether it uses Playwright, so there's no separate flag to keep in sync as apps are added or removed.

@mydea
mydea force-pushed the fn/e2e-skip-playwright branch from e34a2ea to af18cd6 Compare August 28, 2026 08:44
@mydea
mydea marked this pull request as ready for review August 28, 2026 08:46

@andreiborza andreiborza left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice idea checking wether it's importable

@mydea
mydea force-pushed the fn/e2e-skip-playwright branch from af18cd6 to c5f10d2 Compare August 28, 2026 08:51
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 28.57 kB -0.02% -4 B 🔽
@sentry/browser - with treeshaking flags 26.92 kB -0.04% -9 B 🔽
@sentry/browser - with treeshaking flags tracing without tracing 26.82 kB -0.03% -7 B 🔽
@sentry/browser (incl. Tracing) 48.63 kB -0.01% -2 B 🔽
@sentry/browser (incl. Tracing + Span Streaming) 48.65 kB -0.01% -2 B 🔽
@sentry/browser (incl. Tracing, Profiling) 51.56 kB -0.01% -5 B 🔽
@sentry/browser (incl. Tracing, Replay) 88.11 kB -0.01% -2 B 🔽
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 77.51 kB -0.02% -8 B 🔽
@sentry/browser (incl. Tracing, Replay with Canvas) 92.82 kB -0.01% -2 B 🔽
@sentry/browser (incl. Tracing, Replay, Feedback) 105.51 kB -0.01% -1 B 🔽
@sentry/browser (incl. Feedback) 45.79 kB -0.02% -5 B 🔽
@sentry/browser (incl. sendFeedback) 33.35 kB -0.02% -6 B 🔽
@sentry/browser (incl. FeedbackAsync) 38.46 kB -0.01% -3 B 🔽
@sentry/browser (incl. Metrics) 29.51 kB -0.02% -3 B 🔽
@sentry/browser (incl. Logs) 29.8 kB -0.01% -1 B 🔽
@sentry/browser (incl. Metrics & Logs) 30.43 kB -0.01% -1 B 🔽
@sentry/react 30.31 kB -0.02% -5 B 🔽
@sentry/react (incl. Tracing) 50.84 kB -0.02% -6 B 🔽
@sentry/vue 35.69 kB - -
@sentry/vue (incl. Tracing) 50.88 kB -0.01% -4 B 🔽
@sentry/svelte 28.59 kB -0.01% -2 B 🔽
CDN Bundle 30.36 kB +0.05% +15 B 🔺
CDN Bundle (incl. Tracing) 49.12 kB -0.01% -2 B 🔽
CDN Bundle (incl. Logs, Metrics) 32.56 kB +0.03% +7 B 🔺
CDN Bundle (incl. Tracing, Logs, Metrics) 51.01 kB +0.01% +1 B 🔺
CDN Bundle (incl. Replay, Logs, Metrics) 73 kB -0.03% -18 B 🔽
CDN Bundle (incl. Tracing, Replay) 86.62 kB -0.01% -6 B 🔽
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 88.52 kB -0.01% -2 B 🔽
CDN Bundle (incl. Tracing, Replay, Feedback) 92.4 kB -0.01% -5 B 🔽
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 94.33 kB -0.01% -4 B 🔽
CDN Bundle - uncompressed 89.97 kB +0.02% +15 B 🔺
CDN Bundle (incl. Tracing) - uncompressed 146.82 kB +0.01% +1 B 🔺
CDN Bundle (incl. Logs, Metrics) - uncompressed 96.26 kB +0.02% +15 B 🔺
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 152.51 kB +0.01% +1 B 🔺
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 225.42 kB +0.01% +15 B 🔺
CDN Bundle (incl. Tracing, Replay) - uncompressed 266.32 kB +0.01% +1 B 🔺
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 272 kB +0.01% +1 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 280.01 kB +0.01% +1 B 🔺
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 285.68 kB +0.01% +1 B 🔺
@sentry/nextjs (client) 53.41 kB -0.01% -4 B 🔽
@sentry/sveltekit (client) 49.08 kB -0.01% -4 B 🔽
@sentry/core/server 65.3 kB +0.23% +149 B 🔺
@sentry/core/browser 52.37 kB +0.89% +460 B 🔺
@sentry/node 122.37 kB -0.25% -304 B 🔽
@sentry/node/import (ESM hook with diagnostics-channel injection) 85.23 kB +0.03% +19 B 🔺
@sentry/node - without tracing 87.69 kB -0.02% -14 B 🔽
@sentry/node - without channel injection 102.06 kB -0.28% -282 B 🔽
@sentry/aws-serverless 95.85 kB -0.02% -11 B 🔽
@sentry/cloudflare (withSentry) - minified 199.57 kB -0.06% -116 B 🔽
@sentry/cloudflare (withSentry) 495.71 kB -0.1% -481 B 🔽

View base workflow run

@mydea
mydea force-pushed the fn/e2e-skip-playwright branch from c5f10d2 to 656420c Compare August 28, 2026 09:02
@mydea
mydea merged commit 656420c into develop Aug 28, 2026
@mydea
mydea deleted the fn/e2e-skip-playwright branch August 28, 2026 09:02
@mydea
mydea restored the fn/e2e-skip-playwright branch August 28, 2026 09:04
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.

2 participants