Repository navigation
test(e2e): Install test-utils from a tarball - #25402
Merged
Merged
Conversation
mydea
added this pull request to stack #25405
October 15, 2026 12:55
mydea
force-pushed
the
test/e2e-test-utils-tarball
branch
from
October 15, 2026 14:28
5f86924 to
9637862
Compare
mydea
force-pushed
the
test/e2e-test-utils-tarball
branch
from
October 16, 2026 07:35
9637862 to
f2dbfe9
Compare
mydea
force-pushed
the
test/e2e-test-utils-tarball
branch
from
October 16, 2026 08:52
f2dbfe9 to
05695c5
Compare
mydea
marked this pull request as ready for review
October 16, 2026 09:12
Lms24
approved these changes
Oct 16, 2026
andreiborza
approved these changes
Oct 16, 2026
mydea
force-pushed
the
test/e2e-test-utils-tarball
branch
from
October 19, 2026 08:17
05695c5 to
d7caecc
Compare
Test apps linked `@sentry-internal/test-utils` from the workspace, so its dependencies (`express`, `ws`) resolved from the monorepo's root `node_modules`. It is now packed like the SDK packages, and the apps depend on its tarball in `packed/` directly, so pnpm installs its dependencies into each app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mydea
force-pushed
the
test/e2e-test-utils-tarball
branch
from
October 19, 2026 09:06
d7caecc to
4a369e5
Compare
mydea
added a commit
that referenced
this pull request
Oct 19, 2026
…25403) 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 `@sentry-internal/test-utils`. Since #25402 installs test-utils from a tarball, E2E jobs now only download 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. Since #25334, `install-pnpm` takes pnpm from the root `node_modules` too, so the E2E jobs install the root `devDependencies` version with `pnpm/action-setup` instead. Other workflows and local runs keep getting pnpm through `yarn.lock`. `aws-serverless` still downloads the build output, since its Lambda stack installs the built package directories. Stacked on #25402. Replaces #25371, which GitHub closed as merged by accident during a restack. Its review history is still there. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Test apps depended on
@sentry-internal/test-utilsvialink:../../../test-utils. Its imports (express,ws) therefore resolved from the monorepo's rootnode_modules, so E2E jobs needed that restored even though the apps install everything else themselves.test-utils is now packed like the SDK packages, and its tarball gets its own artifact so it can't end up among the release tarballs. Apps depend on it directly with
file:../../packed/sentry-internal-test-utils-packed.tgz, so pnpm installs its dependencies into each app. It is also pinned through the pnpm overrides like the SDK packages, which is redundant but harmless.Locally, changes to test-utils now need
yarn build:tarball, as for the SDK packages.Stacked on #25382. Replaces #25396, which GitHub closed as merged by accident during a restack.
🤖 Generated with Claude Code