From 3b429a34f72a3fdbc07dddc73150deb51c2d1cba Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Mon, 28 Sep 2026 11:03:29 +0200 Subject: [PATCH 1/2] test(v9/e2e): Only test Next.js apps against Next.js 15 v9 does not support Next.js 16, but the optional latest and canary e2e variants install next@latest and next@canary, which now resolve to 16. Pin latest to next@15 and drop the canary variants since there is no Next.js 15 canary. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/canary.yml | 15 --------------- .../test-applications/nextjs-13/package.json | 7 +------ .../test-applications/nextjs-14/package.json | 7 +------ .../test-applications/nextjs-15/package.json | 5 ----- .../test-applications/nextjs-app-dir/package.json | 7 +------ .../test-applications/nextjs-orpc/package.json | 1 - .../test-applications/nextjs-t3/package.json | 1 - .../test-applications/nextjs-turbo/package.json | 7 +------ 8 files changed, 4 insertions(+), 46 deletions(-) diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 2b8f46f0c352..98cc5047c34f 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -75,33 +75,18 @@ jobs: - test-application: 'create-react-app' build-command: 'test:build-canary' label: 'create-react-app (canary)' - - test-application: 'nextjs-app-dir' - build-command: 'test:build-canary' - label: 'nextjs-app-dir (canary)' - test-application: 'nextjs-app-dir' build-command: 'test:build-latest' label: 'nextjs-app-dir (latest)' - - test-application: 'nextjs-13' - build-command: 'test:build-canary' - label: 'nextjs-13 (canary)' - test-application: 'nextjs-13' build-command: 'test:build-latest' label: 'nextjs-13 (latest)' - - test-application: 'nextjs-14' - build-command: 'test:build-canary' - label: 'nextjs-14 (canary)' - test-application: 'nextjs-14' build-command: 'test:build-latest' label: 'nextjs-14 (latest)' - - test-application: 'nextjs-15' - build-command: 'test:build-canary' - label: 'nextjs-15 (canary)' - test-application: 'nextjs-15' build-command: 'test:build-latest' label: 'nextjs-15 (latest)' - - test-application: 'nextjs-turbo' - build-command: 'test:build-canary' - label: 'nextjs-turbo (canary)' - test-application: 'nextjs-turbo' build-command: 'test:build-latest' label: 'nextjs-turbo (latest)' diff --git a/dev-packages/e2e-tests/test-applications/nextjs-13/package.json b/dev-packages/e2e-tests/test-applications/nextjs-13/package.json index ebb4d632127d..bf5502f7e6ec 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-13/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-13/package.json @@ -8,8 +8,7 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", - "test:build-latest": "pnpm install && pnpm add next@latest && pnpm build", + "test:build-latest": "pnpm install && pnpm add next@15 && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { @@ -31,10 +30,6 @@ }, "sentryTest": { "optionalVariants": [ - { - "build-command": "test:build-canary", - "label": "nextjs-13 (canary)" - }, { "build-command": "test:build-latest", "label": "nextjs-13 (latest)" diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json index acffda8eeed5..f6f8815b2c81 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json @@ -8,8 +8,7 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", - "test:build-latest": "pnpm install && pnpm add next@latest && pnpm build", + "test:build-latest": "pnpm install && pnpm add next@15 && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { @@ -32,10 +31,6 @@ }, "sentryTest": { "optionalVariants": [ - { - "build-command": "test:build-canary", - "label": "nextjs-14 (canary)" - }, { "build-command": "test:build-latest", "label": "nextjs-14 (latest)" diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 063f36d3b164..aa13ad8ebc77 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -9,7 +9,6 @@ "test:dev": "TEST_ENV=development playwright test", "test:dev-turbo": "TEST_ENV=dev-turbopack playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", "test:build-turbo": "pnpm install && pnpm add next@15.4.2-canary.1 && next build --turbopack", @@ -36,10 +35,6 @@ }, "sentryTest": { "optionalVariants": [ - { - "build-command": "test:build-canary", - "label": "nextjs-15 (canary)" - }, { "build-command": "test:build-latest", "label": "nextjs-15 (latest)" diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json index 85bc81d19132..25b7b413c879 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json @@ -9,8 +9,7 @@ "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", "test:test-build": "pnpm ts-node --script-mode assert-build.ts", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", - "test:build-latest": "pnpm install && pnpm add next@latest && pnpm build", + "test:build-latest": "pnpm install && pnpm add next@15 && pnpm build", "test:build-13": "pnpm install && pnpm add next@13.5.11 && pnpm build", "test:assert": "pnpm test:test-build && pnpm test:prod && pnpm test:dev" }, @@ -41,10 +40,6 @@ } ], "optionalVariants": [ - { - "build-command": "test:build-canary", - "label": "nextjs-app-dir (canary)" - }, { "build-command": "test:build-latest", "label": "nextjs-app-dir (latest)" diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json index cd1697890ced..8d117bfeb6de 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json @@ -11,7 +11,6 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "test:build-latest": "pnpm install && pnpm add next@rc && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json index e9a7ae6a232d..aea46b0109bf 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json @@ -9,7 +9,6 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "test:build-latest": "pnpm install && pnpm add next@rc && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, diff --git a/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json b/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json index e4f02f7438f3..9d1da7eb8971 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json @@ -8,8 +8,7 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", - "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@canary && pnpm add react-dom@canary && pnpm build", - "test:build-latest": "pnpm install && pnpm add next@latest && pnpm build", + "test:build-latest": "pnpm install && pnpm add next@15 && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { @@ -33,10 +32,6 @@ "sentryTest": { "optional": true, "optionalVariants": [ - { - "build-command": "test:build-canary", - "label": "nextjs-turbo (canary)" - }, { "build-command": "test:build-latest", "label": "nextjs-turbo (latest)" From fa8c5182560af147b6f404449fa63c56f5290380 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Mon, 28 Sep 2026 16:22:34 +0200 Subject: [PATCH 2/2] test(v9/e2e): Pin drifted e2e test app dependencies Several test apps float on ranges that now resolve to releases requiring Node 22 or newer peers than the ones they pin. Pin them to the versions that were current around the last v9 release. node-profiling-cjs/esm, cloudflare-astro and cloudflare-hono had no active .npmrc, so they installed @sentry/* from npm (now v11) instead of the local build. Route the @sentry scope to the test registry. Drop geist from nextjs-t3 since its OFL-1.1 license fails the license check. Co-Authored-By: Claude Opus 5.5 --- .../e2e-tests/test-applications/astro-5/package.json | 4 ++-- .../e2e-tests/test-applications/cloudflare-astro/.npmrc | 2 ++ .../e2e-tests/test-applications/cloudflare-hono/.npmrc | 2 ++ .../test-applications/cloudflare-workers/package.json | 2 +- .../test-applications/generic-ts3.8/package.json | 6 ++++++ .../e2e-tests/test-applications/nextjs-t3/package.json | 1 - .../test-applications/nextjs-t3/src/app/layout.tsx | 3 +-- .../test-applications/nextjs-t3/tailwind.config.ts | 8 -------- .../e2e-tests/test-applications/node-express/package.json | 4 ++-- .../test-applications/node-fastify-3/package.json | 5 +++++ .../test-applications/node-fastify-4/package.json | 5 +++++ .../test-applications/node-fastify-5/package.json | 5 +++++ .../e2e-tests/test-applications/node-profiling-cjs/.npmrc | 3 +-- .../e2e-tests/test-applications/node-profiling-esm/.npmrc | 3 +-- .../e2e-tests/test-applications/nuxt-4/package.json | 2 +- .../test-applications/remix-hydrogen/package.json | 2 +- 16 files changed, 35 insertions(+), 22 deletions(-) create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-astro/.npmrc create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc diff --git a/dev-packages/e2e-tests/test-applications/astro-5/package.json b/dev-packages/e2e-tests/test-applications/astro-5/package.json index 1c669cbc041b..cfae34ec0db8 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-5/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@astrojs/internal-helpers": "^0.4.2", - "@astrojs/node": "^9.0.0", + "@astrojs/node": "9.5.0", "@playwright/test": "~1.53.2", "@sentry-internal/test-utils": "link:../../../test-utils", "@sentry/astro": "latest || *", - "astro": "^5.0.3" + "astro": "5.15.8" }, "pnpm": { "overrides": { diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-astro/.npmrc b/dev-packages/e2e-tests/test-applications/cloudflare-astro/.npmrc new file mode 100644 index 000000000000..070f80f05092 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-astro/.npmrc @@ -0,0 +1,2 @@ +@sentry:registry=http://127.0.0.1:4873 +@sentry-internal:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc b/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc new file mode 100644 index 000000000000..070f80f05092 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc @@ -0,0 +1,2 @@ +@sentry:registry=http://127.0.0.1:4873 +@sentry-internal:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json index 91a49e0788f4..c2100b46f33f 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json @@ -24,7 +24,7 @@ "@sentry-internal/test-utils": "link:../../../test-utils", "typescript": "^5.5.2", "vitest": "~3.2.0", - "wrangler": "^4.23.0", + "wrangler": "4.48.0", "ws": "^8.18.3" }, "volta": { diff --git a/dev-packages/e2e-tests/test-applications/generic-ts3.8/package.json b/dev-packages/e2e-tests/test-applications/generic-ts3.8/package.json index fbd40cebcb07..7a69536c0013 100644 --- a/dev-packages/e2e-tests/test-applications/generic-ts3.8/package.json +++ b/dev-packages/e2e-tests/test-applications/generic-ts3.8/package.json @@ -20,6 +20,12 @@ "@sentry-internal/replay": "latest || *", "@sentry/wasm": "latest || *" }, + "pnpm": { + "overrides": { + "@opentelemetry/api": "1.9.0", + "pg-protocol": "1.10.3" + } + }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json index aea46b0109bf..dcbebf21813b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json @@ -19,7 +19,6 @@ "@trpc/client": "~11.3.0", "@trpc/react-query": "~11.3.0", "@trpc/server": "~11.3.0", - "geist": "^1.3.0", "next": "14.2.29", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/layout.tsx b/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/layout.tsx index e703260be1a3..3d32967aa290 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/layout.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/layout.tsx @@ -1,6 +1,5 @@ import '~/styles/globals.css'; -import { GeistSans } from 'geist/font/sans'; import { type Metadata } from 'next'; import { TRPCReactProvider } from '~/trpc/react'; @@ -13,7 +12,7 @@ export const metadata: Metadata = { export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) { return ( - + {children} diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/tailwind.config.ts b/dev-packages/e2e-tests/test-applications/nextjs-t3/tailwind.config.ts index 80a667d155d8..9739341e9b52 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/tailwind.config.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/tailwind.config.ts @@ -1,14 +1,6 @@ import { type Config } from 'tailwindcss'; -import { fontFamily } from 'tailwindcss/defaultTheme'; export default { content: ['./src/**/*.tsx'], - theme: { - extend: { - fontFamily: { - sans: ['var(--font-geist-sans)', ...fontFamily.sans], - }, - }, - }, plugins: [], } satisfies Config; diff --git a/dev-packages/e2e-tests/test-applications/node-express/package.json b/dev-packages/e2e-tests/test-applications/node-express/package.json index 18be5221bd3f..34f115555daf 100644 --- a/dev-packages/e2e-tests/test-applications/node-express/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express/package.json @@ -11,7 +11,7 @@ "test:assert": "pnpm test" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.10.2", + "@modelcontextprotocol/sdk": "1.22.0", "@sentry/node": "latest || *", "@trpc/server": "10.45.2", "@trpc/client": "10.45.2", @@ -19,7 +19,7 @@ "@types/node": "^18.19.1", "express": "^4.21.2", "typescript": "~5.0.0", - "zod": "~3.24.3" + "zod": "~3.25.0" }, "devDependencies": { "@playwright/test": "~1.53.2", diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json index 006a33585fd3..c0a9bf7ed05b 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json @@ -23,6 +23,11 @@ "@playwright/test": "~1.53.2", "@sentry-internal/test-utils": "link:../../../test-utils" }, + "pnpm": { + "overrides": { + "pg-protocol": "1.10.3" + } + }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json index 01f4879d5a68..cfd855cca1d6 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json @@ -23,6 +23,11 @@ "@playwright/test": "~1.53.2", "@sentry-internal/test-utils": "link:../../../test-utils" }, + "pnpm": { + "overrides": { + "pg-protocol": "1.10.3" + } + }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json index 0b03a26eca47..394123444954 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json @@ -23,6 +23,11 @@ "@playwright/test": "~1.53.2", "@sentry-internal/test-utils": "link:../../../test-utils" }, + "pnpm": { + "overrides": { + "pg-protocol": "1.10.3" + } + }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc index 949fbddc2343..1f5d2a729e98 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc +++ b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc @@ -1,2 +1 @@ -# @sentry:registry=http://127.0.0.1:4873 -# @sentry-internal:registry=http://127.0.0.1:4873 +@sentry:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc index 949fbddc2343..1f5d2a729e98 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc @@ -1,2 +1 @@ -# @sentry:registry=http://127.0.0.1:4873 -# @sentry-internal:registry=http://127.0.0.1:4873 +@sentry:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/package.json b/dev-packages/e2e-tests/test-applications/nuxt-4/package.json index f73e7ff99200..7618c1cd5a73 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/package.json @@ -18,7 +18,7 @@ "dependencies": { "@pinia/nuxt": "^0.5.5", "@sentry/nuxt": "latest || *", - "nuxt": "^4.0.0-alpha.4" + "nuxt": "4.2.1" }, "devDependencies": { "@playwright/test": "~1.53.2", diff --git a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json index 1d0cbdce8eae..81f4a79ef27e 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json @@ -22,7 +22,7 @@ "@sentry/remix": "latest || *", "@sentry/vite-plugin": "^3.1.2", "@shopify/hydrogen": "2025.4.0", - "@shopify/remix-oxygen": "^2.0.10", + "@shopify/remix-oxygen": "2.0.12", "graphql": "^16.6.0", "graphql-tag": "^2.12.6", "isbot": "^3.8.0",