getsentry / getsentry/sentry-javascript

Expand canary test coverage across all framework SDKs

Abierto
#18,635 1 comentario 0 reacciones 0 asignados Ver en GitHub
Tests
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
515

Descripción

### Description

We want to stabilize tests as much as possible, one way to do that is to lock dependency versions across E2E tests. However, Canary tests are valuable as they allow us to detect issues early on and prepare for future framework or library releases.

This issue acts as a tracker for the framework SDKs' canary tests statuses, ideally we want to completely cover all framework we target with SDKs.

A couple of caveats with this tracker:

- There are libraries targeted by SDKs like `@sentry/node` with auto instrumentation or via integrations, this issue isn't tracking those.
- There are some "runtime" SDKs. I have listed them towards the end if someone wants to address them, but not all can have canary tests.

### Framework SDKs

Those can be tested by adding a test app or a canary test variant to existing apps.

| SDK | E2E Tests | Canary Tests | Test Applications |
|-----|:-------------:|:----------------:|-------------------|
| `@sentry/angular` | ✅ | ✅ | angular-17, angular-18, ..., angular-21 |
| `@sentry/astro` | ✅ | ❌ | astro-4, astro-5 |
| `@sentry/aws-serverless` | ✅ | ❌ | aws-serverless |
| `@sentry/ember` | ✅ | ❌ | ember-classic, ember-embroider |
| `@sentry/gatsby` | ❌ | ❌ | - |
| `@sentry/google-cloud-serverless` | ❌ | ❌ | - |
| `@sentry/nestjs` | ✅ | ❌ | nestjs-basic, nestjs-8, nestjs-11, etc. |
| `@sentry/nextjs` | ✅ | ✅ | nextjs-13, nextjs-14, nextjs-15, nextjs-16, nextjs-turbo, nextjs-app-dir |
| `@sentry/nuxt` | ✅ | ✅ | nuxt-3, nuxt-4 |
| `@sentry/profiling-node` | ✅ | ❌ | node-profiling-esm, node-profiling-cjs |
| `@sentry/react` | ✅ | ✅ | create-react-app, react-create-hash-router, react-router-6 |
| `@sentry/react-router` | ✅ | ❌ | react-router-7-framework, etc. |
| `@sentry/remix` | ✅ | ❌ | remix-hydrogen, create-remix-app-* |
| `@sentry/solid` | ✅ | ❌ | solid |
| `@sentry/solidstart` | ✅ | ❌ | solidstart, solidstart-spa, etc. |
| `@sentry/svelte` | ✅ | ❌ | svelte-5 |
| `@sentry/sveltekit` | ✅ | ❌ | sveltekit-2, sveltekit-2-svelte-5, etc. |
| `@sentry/tanstackstart-react` | ✅ | ❌ | tanstackstart-react |
| `@sentry/vue` | ✅ | ❌ | vue-3, vue-tanstack-router |

### Runtime SDKs (excluded from canary scope)

These SDKs target runtime environments rather than frameworks:

- `@sentry/browser`
- `@sentry/node` / `@sentry/node-core`
- `@sentry/bun`
- `@sentry/deno`
- `@sentry/cloudflare`
- `@sentry/vercel-edge`

Some of these are possible to test with certain CI configurations rather than test apps.

---

### Summary

- **4/19** framework SDKs have canary tests
- **17/19** framework SDKs have E2E tests
- **2** framework SDKs have no E2E tests at all: `gatsby`, `google-cloud-serverless`

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.