getsentry / getsentry/sentry-javascript

Expand canary test coverage across all framework SDKs

Open
#18,635 1 comment 0 reactions 0 assignees View on GitHub
Tests
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

### 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`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.