Skip to content

ci(e2e): Run E2E tests without restoring the monorepo's node_modules - #25371

Merged
mydea merged 2 commits into
ci/playwright-background-installsfrom
ci/e2e-without-root-node-modules
Oct 15, 2026
Merged

mydea merged 2 commits into
ci/playwright-background-installsfrom
ci/e2e-without-root-node-modules

Conversation

@mydea

@mydea mydea commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Each E2E job restored the full ~860 MB root dependency cache and the build output (about 33s per job, ~2.5 runner-hours per CI run) only to run a few tsx scripts and to resolve the linked @sentry-internal/test-utils. E2E jobs now only download tarballs.

The blocker was test-utils: apps depend on it via link:, so its imports (express, ws) resolved from the monorepo's root node_modules. It is now packed like the SDK packages and pinned through the pnpm overrides the E2E setup already writes, so app package.json files stay unchanged and pnpm installs its dependencies into each app. It goes into its own artifact so it can't end up among the release tarballs.

The E2E scripts are now plain .mjs files without dependencies. They run under each app's pinned Node (down to 20.19), which rules out Node's type stripping. With run.ts converted too, the package no longer needs tsx, dotenv, glob, esbuild or a tsconfig (lint:ts never ran in CI).

Since #25380 the Playwright install reads its version from the app's package.json, so it doesn't need the root node_modules either. aws-serverless still downloads the build output, since its Lambda stack installs the built package directories.

This also fixes the on-failure dump normalization step, which has never matched anything in CI: it searched the repo's test-applications/ while apps run in the runner's temp directory.

Stacked on #25384.

🤖 Generated with Claude Code

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d16ed93. Configure here.

Comment thread dev-packages/test-utils/package.json Outdated
@mydea
mydea force-pushed the ci/e2e-without-root-node-modules branch from d16ed93 to f3d3a76 Compare October 15, 2026 07:43
@mydea
mydea changed the base branch from develop to ci/playwright-background-installs October 15, 2026 07:43
@mydea
mydea added this pull request to stack #25385 October 15, 2026 07:44
@mydea
mydea force-pushed the ci/e2e-without-root-node-modules branch from f3d3a76 to 7244f57 Compare October 15, 2026 11:36
@mydea
mydea removed this pull request from stack #25385 October 15, 2026 11:37
@mydea
mydea added this pull request to stack #25392 October 15, 2026 11:37
@mydea
mydea force-pushed the ci/e2e-without-root-node-modules branch from 7244f57 to c7e9bed Compare October 15, 2026 11:58
@mydea
mydea removed this pull request from stack #25392 October 15, 2026 11:58
@mydea
mydea changed the base branch from ci/playwright-background-installs to test/e2e-test-utils-tarball October 15, 2026 11:58
@mydea
mydea added this pull request to stack #25397 October 15, 2026 11:58
@mydea
mydea force-pushed the ci/e2e-without-root-node-modules branch from c7e9bed to 091053c Compare October 15, 2026 12:03
mydea and others added 2 commits October 15, 2026 14:50
E2E jobs restored the ~860 MB root dependency cache and the full build
output only to run a few tsx scripts and to resolve the linked
test-utils package. The scripts are now plain .mjs files without
dependencies, and test-utils is installed from a tarball like the SDK
packages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With all scripts as plain .mjs files, the local runner no longer needs
tsx, dotenv or glob. esbuild was unused. Type checking of this package
was never run in CI, so it no longer has a tsconfig; the JSDoc types
are kept for editors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mydea
mydea force-pushed the ci/e2e-without-root-node-modules branch from 091053c to 64925fb Compare October 15, 2026 12:51
Base automatically changed from test/e2e-test-utils-tarball to ci/playwright-background-installs October 15, 2026 12:51
@mydea
mydea merged commit 64925fb into develop Oct 15, 2026
2 checks passed
@mydea
mydea deleted the ci/e2e-without-root-node-modules branch October 15, 2026 12:51
@mydea
mydea restored the ci/e2e-without-root-node-modules branch October 15, 2026 12:53
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