From 5bd886ac0c3e5aba0b4f23506561450fe95fa9f4 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Fri, 30 Oct 2026 16:10:37 +0100 Subject: [PATCH 01/12] test(e2e): Establish Next.js 16 CI timing baseline Co-Authored-By: OpenAI Codex From 17590f2a7e7b7647088e32e8020da469661e795a Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Fri, 30 Oct 2026 16:20:21 +0100 Subject: [PATCH 02/12] test(ci): Establish full-matrix Next.js 16 timing baseline Co-Authored-By: OpenAI Codex --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0d470f273e39..0d155fde8305 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -139,6 +139,7 @@ jobs: - name: Determine which test applications should be run id: matrix + # Workflow changes run the full matrix, which also provides comparable CI timing measurements. run: pnpm --silent run ci:build-matrix --shards=2 --base=${{ (github.event_name == 'pull_request' && needs.job_get_metadata.outputs.changed_ci != 'true' && github.event.pull_request.base.sha) || '' }} >> From 920d3dff8e64ac620d6e9511896ce56169033a97 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Fri, 30 Oct 2026 16:32:40 +0100 Subject: [PATCH 03/12] test(e2e): Flush Next.js 16 logs and metrics promptly Co-Authored-By: OpenAI Codex --- .../test-applications/nextjs-16/instrumentation-client.ts | 1 + .../test-applications/nextjs-16/sentry.server.config.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/instrumentation-client.ts b/dev-packages/e2e-tests/test-applications/nextjs-16/instrumentation-client.ts index f1ad74d2ea85..81b3fe08b4a6 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16/instrumentation-client.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/instrumentation-client.ts @@ -6,6 +6,7 @@ Sentry.init({ dsn: process.env.NEXT_PUBLIC_E2E_TEST_DSN, tunnel: `http://localhost:3031/`, // proxy server tracesSampleRate: 1.0, + _flushInterval: 100, integrations: [ Sentry.thirdPartyErrorFilterIntegration({ filterKeys: ['nextjs-16-e2e'], diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/sentry.server.config.ts b/dev-packages/e2e-tests/test-applications/nextjs-16/sentry.server.config.ts index 960f49a15533..f0ec19dd256d 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16/sentry.server.config.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/sentry.server.config.ts @@ -8,6 +8,7 @@ Sentry.init({ dsn: process.env.NEXT_PUBLIC_E2E_TEST_DSN, tunnel: `http://localhost:3031/`, // proxy server tracesSampleRate: 1.0, + _flushInterval: 100, tracePropagationTargets: ['http://localhost:3030/propagation/test-outgoing-fetch/check'], // debug: true, integrations: [ From 1682208dc13b127e160de7ee94fbea61d9e80d0d Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Fri, 30 Oct 2026 16:41:00 +0100 Subject: [PATCH 04/12] test(e2e): Run Next.js 16 webpack environments in parallel Co-Authored-By: OpenAI Codex --- .../test-applications/nextjs-16/package.json | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16/package.json index 330998a1e357..62885e1f78a5 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/package.json @@ -74,13 +74,23 @@ }, { "build-command": "pnpm test:build-webpack", - "label": "nextjs-16 (webpack)", - "assert-command": "pnpm test:assert-webpack" + "label": "nextjs-16 (webpack, production)", + "assert-command": "pnpm test:prod" + }, + { + "build-command": "pnpm test:build-webpack", + "label": "nextjs-16 (webpack, development)", + "assert-command": "pnpm test:dev-webpack" }, { "build-command": "pnpm test:build-latest-webpack", - "label": "nextjs-16 (latest, webpack)", - "assert-command": "pnpm test:assert-webpack" + "label": "nextjs-16 (latest, webpack, production)", + "assert-command": "pnpm test:prod" + }, + { + "build-command": "pnpm test:build-latest-webpack", + "label": "nextjs-16 (latest, webpack, development)", + "assert-command": "pnpm test:dev-webpack" }, { "build-command": "pnpm test:build-latest", From 2b955cfdc9066cb676cbb029affa7e6c5b1bba3c Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Fri, 30 Oct 2026 21:03:22 +0100 Subject: [PATCH 05/12] test(e2e): Run remaining slow Next.js environments in parallel Co-Authored-By: OpenAI Codex --- dev-packages/e2e-tests/README.md | 4 ++++ dev-packages/e2e-tests/lib/getTestMatrix.mjs | 2 +- dev-packages/e2e-tests/run.mjs | 3 ++- .../test-applications/nextjs-15/package.json | 12 +++++++++++ .../nextjs-16-static/package.json | 14 ++++++++++++- .../nextjs-app-dir/package.json | 20 +++++++++++++++++-- 6 files changed, 50 insertions(+), 5 deletions(-) diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index 426b274da2d0..b5cdf556befd 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -292,6 +292,10 @@ For example, if something is changed in the browser package, only E2E test apps You can add additional information about the test (e.g. canary versions, optional in CI) by adding `sentryTest` in the `package.json` of a test application. +`sentryTest.baseVariant` overrides the default matrix entry using the same fields as an entry in `variants`. For example, +set its `assert-command` to run production tests and add a development variant to run both environments in parallel. +The local `test:assert` script can still run both; select the base variant locally with `--variant