Conversation
JPeer264
added this pull request to stack #24600
September 22, 2026 16:42
Contributor
size-limit report 📦
|
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
from
September 23, 2026 05:27
f08b065 to
9297a36
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
2 times, most recently
from
September 23, 2026 09:12
d358a6c to
4dd044c
Compare
JPeer264
removed this pull request from stack #24600
September 23, 2026 09:14
JPeer264
added this pull request to stack #24613
September 23, 2026 09:15
JPeer264
removed this pull request from stack #24613
September 23, 2026 09:51
JPeer264
added this pull request to stack #24633
September 23, 2026 09:51
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
2 times, most recently
from
September 23, 2026 10:02
adb5cb1 to
fb48ca5
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
2 times, most recently
from
September 23, 2026 12:21
51e4c78 to
b94af9d
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
from
September 23, 2026 12:24
b94af9d to
6e3b225
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
from
September 23, 2026 13:23
6e3b225 to
c2638e4
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
from
September 23, 2026 13:31
c2638e4 to
90bb70c
Compare
JPeer264
removed this pull request from stack #24633
September 23, 2026 16:19
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
3 times, most recently
from
September 28, 2026 08:07
2704c9c to
72f6d6c
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
3 times, most recently
from
September 28, 2026 09:38
d0fbc38 to
8aefac0
Compare
JPeer264
force-pushed
the
jp/e2e-runtime-variants-poc
branch
3 times, most recently
from
September 28, 2026 14:29
b789b78 to
57c28ca
Compare
This was referenced Sep 29, 2026
Runs the same Playwright suite on Deno and Cloudflare (local workerd) as optional variants of the existing app, instead of one app per runtime. A variant can set a `runtime` matrix key (`bun` or `deno`), and CI then installs that runtime for the job. The Cloudflare build uses its own Vite config with `@cloudflare/vite-plugin` and `sentryCloudflareVitePlugin`, and swaps in a workerd server entry with the new `runtimeEntryPlugin` from `@sentry-internal/test-utils/vite`. The app keeps its Bun scripts, but CI runs no Bun variant yet: Bun never publishes `http.server.request.start`, so `@sentry/node` creates no `http.server` span there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…framework Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…framework Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
POC for running one framework e2e app on several server runtimes instead of one app per runtime (Linear project P-JS-2537).
react-router-8-frameworknow runs its full Playwright suite on Bun, Deno and Cloudflare (local workerd) as optional variants, next to the Node job.Each runtime inits its own SDK, the way a user of that runtime would: Node
@sentry/react-router, Bun@sentry/bun, Deno@sentry/deno(with--preload=@sentry/deno/import) and Cloudflare@sentry/cloudflare.@sentry/react-routerthen only provides the framework wrappers, so values from itsinit()(sdk.name, theruntimetag, the/__manifestfilter) are Node-only, and the tests branch on that. Using the runtime SDKs is what makes the Bun variant work:@sentry/nodecreates nohttp.serverspan on Bun,@sentry/bundoes.A variant sets
RUNTIMEin a named script, read with the newgetRuntime()from@sentry-internal/test-utils, andplaywright.config.mjspicks the start command from it. Bun and Deno reuse the Node build. Cloudflare builds with its ownvite.cloudflare.config.ts(@cloudflare/vite-plugin+sentryCloudflareVitePlugin), and the newruntimeEntryPluginfrom@sentry-internal/test-utils/viteswaps inentry.server.cloudflare.tsx, since React Router has no option to pick a server entry. A newruntimematrix key makes CI install Bun or Deno for a variant, so new variants need nobuild.ymlchange. The convention is in the e2e README.Other expected differences: Express is not instrumented under
bun runand there is no Express layer on workerd, so there the error transaction stays the request path and the meta tag names thehttp.serverspan. Deno is pinned to v2.9.0, because Deno 2.8 loses async context in socket callbacks and dropsioredisspans. The Cloudflare and Bun variants need the@sentry/react-routerfixes this PR is based on.🤖 Generated with Claude Code