Skip to content

Commit e8ad6b8

Browse files
authored
Merge branch 'develop' into nh/span-streaming-ingest-settings
2 parents 8b6a446 + a4c9686 commit e8ad6b8

523 files changed

Lines changed: 4601 additions & 2801 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/e2e/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ All tests completed successfully. Your SDK changes work correctly with this test
116116

117117
- **No tarballs found**: Run `yarn build && yarn build:tarball` at repository root
118118
- **Test app not found**: List available apps and ask user to clarify
119-
- **Verdaccio not running**: Tests should start Verdaccio automatically, but if issues occur, check Docker
119+
- **Packed tarballs missing**: Run `yarn build:tarball` at the repo root, then `yarn test:prepare` in `dev-packages/e2e-tests`
120120
- **Build failures**: Fix build errors before running tests
121121

122122
## Common Test Applications

.cursor/BUGBOT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Do not flag the issues below if they appear in tests.
6363
- Race conditions when waiting on multiple requests. Ensure that waiting checks are unique enough and don't depend on a hard order when there's a chance that telemetry can be sent in arbitrary order.
6464
- Timeouts or sleeps in tests. Instead suggest concrete events or other signals to wait on.
6565
- Flag usage of `getFirstEnvelope*`, `getMultipleEnvelope*` or related test helpers. These are NOT reliable anymore. Instead suggest helpers like `waitForTransaction`, `waitForError`, `waitForSpans`, etc.
66+
- Flag any new or modified `docker-compose.yml` under `dev-packages/node-integration-tests/suites/` or `dev-packages/node-core-integration-tests/suites/` where a service does not define a `healthcheck:`. The runner uses `docker compose up --wait` and relies on healthchecks to know when services are actually ready; without one the test will race the service's startup.
6667

6768
## Platform-safe code
6869

.github/workflows/build.yml

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,9 @@ jobs:
930930
with:
931931
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'
932932
- name: Set up Bun
933-
if: contains(fromJSON('["node-exports-test-app","nextjs-16-bun", "elysia-bun"]'), matrix.test-application)
933+
if:
934+
contains(fromJSON('["node-exports-test-app","nextjs-16-bun", "elysia-bun", "hono-4"]'),
935+
matrix.test-application)
934936
uses: oven-sh/setup-bun@v2
935937
- name: Set up AWS SAM
936938
if: matrix.test-application == 'aws-serverless'
@@ -959,18 +961,24 @@ jobs:
959961
if: steps.restore-tarball-cache.outputs.cache-hit != 'true'
960962
run: yarn build:tarball
961963

962-
- name: Validate Verdaccio
963-
run: yarn test:validate
964+
- name: Prepare e2e tests
965+
run: yarn test:prepare
964966
working-directory: dev-packages/e2e-tests
965967

966-
- name: Prepare Verdaccio
967-
run: yarn test:prepare
968+
- name: Validate e2e tests setup
969+
run: yarn test:validate
968970
working-directory: dev-packages/e2e-tests
969971

970972
- name: Copy to temp
971973
run: yarn ci:copy-to-temp ./test-applications/${{ matrix.test-application }} ${{ runner.temp }}/test-application
972974
working-directory: dev-packages/e2e-tests
973975

976+
- name: Add pnpm overrides
977+
run:
978+
yarn ci:pnpm-overrides ${{ runner.temp }}/test-application ${{ github.workspace
979+
}}/dev-packages/e2e-tests/packed
980+
working-directory: dev-packages/e2e-tests
981+
974982
- name: Build E2E app
975983
working-directory: ${{ runner.temp }}/test-application
976984
timeout-minutes: 7
@@ -1069,18 +1077,24 @@ jobs:
10691077
if: steps.restore-tarball-cache.outputs.cache-hit != 'true'
10701078
run: yarn build:tarball
10711079

1072-
- name: Validate Verdaccio
1073-
run: yarn test:validate
1080+
- name: Prepare E2E tests
1081+
run: yarn test:prepare
10741082
working-directory: dev-packages/e2e-tests
10751083

1076-
- name: Prepare Verdaccio
1077-
run: yarn test:prepare
1084+
- name: Validate test setup
1085+
run: yarn test:validate
10781086
working-directory: dev-packages/e2e-tests
10791087

10801088
- name: Copy to temp
10811089
run: yarn ci:copy-to-temp ./test-applications/${{ matrix.test-application }} ${{ runner.temp }}/test-application
10821090
working-directory: dev-packages/e2e-tests
10831091

1092+
- name: Add pnpm overrides
1093+
run:
1094+
yarn ci:pnpm-overrides ${{ runner.temp }}/test-application ${{ github.workspace
1095+
}}/dev-packages/e2e-tests/packed
1096+
working-directory: dev-packages/e2e-tests
1097+
10841098
- name: Build E2E app
10851099
working-directory: ${{ runner.temp }}/test-application
10861100
timeout-minutes: 7

.github/workflows/canary.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,24 @@ jobs:
140140
path: ${{ env.CACHED_BUILD_PATHS }}
141141
key: canary-${{ env.HEAD_COMMIT }}
142142

143-
- name: Validate Verdaccio
144-
run: yarn test:validate
143+
- name: Prepare e2e tests
144+
run: yarn test:prepare
145145
working-directory: dev-packages/e2e-tests
146146

147-
- name: Prepare Verdaccio
148-
run: yarn test:prepare
147+
- name: Validate test setup
148+
run: yarn test:validate
149149
working-directory: dev-packages/e2e-tests
150150

151151
- name: Copy to temp
152152
run: yarn ci:copy-to-temp ./test-applications/${{ matrix.test-application }} ${{ runner.temp }}/test-application
153153
working-directory: dev-packages/e2e-tests
154154

155+
- name: Add pnpm overrides
156+
run:
157+
yarn ci:pnpm-overrides ${{ runner.temp }}/test-application ${{ github.workspace
158+
}}/dev-packages/e2e-tests/packed
159+
working-directory: dev-packages/e2e-tests
160+
155161
- name: Build E2E app
156162
working-directory: ${{ runner.temp }}/test-application
157163
timeout-minutes: 7

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ local.log
3939

4040
.rpt2_cache
4141

42-
# verdaccio local registry (e2e tests)
43-
dev-packages/e2e-tests/verdaccio-config/storage/
44-
4542
lint-results.json
4643
trace.zip
4744

@@ -70,6 +67,7 @@ packages/**/*.junit.xml
7067

7168
# Local Claude Code settings that should not be committed
7269
.claude/settings.local.json
70+
.claude/worktrees
7371

7472
# Triage report
7573
**/triage_report.md

.oxlintrc.base.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,19 @@
117117
"max-lines": "off"
118118
}
119119
},
120+
{
121+
"files": ["**/integrations/node-fetch/vendored/**/*.ts"],
122+
"rules": {
123+
"typescript/consistent-type-imports": "off",
124+
"typescript/no-unnecessary-type-assertion": "off",
125+
"typescript/no-unsafe-member-access": "off",
126+
"typescript/no-explicit-any": "off",
127+
"typescript/prefer-for-of": "off",
128+
"max-lines": "off",
129+
"complexity": "off",
130+
"no-param-reassign": "off"
131+
}
132+
},
120133
{
121134
"files": [
122135
"**/scenarios/**",

.size-limit.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ module.exports = [
191191
name: 'CDN Bundle (incl. Tracing)',
192192
path: createCDNPath('bundle.tracing.min.js'),
193193
gzip: true,
194-
limit: '45 KB',
194+
limit: '46.5 KB',
195195
},
196196
{
197197
name: 'CDN Bundle (incl. Logs, Metrics)',
@@ -203,7 +203,7 @@ module.exports = [
203203
name: 'CDN Bundle (incl. Tracing, Logs, Metrics)',
204204
path: createCDNPath('bundle.tracing.logs.metrics.min.js'),
205205
gzip: true,
206-
limit: '47 KB',
206+
limit: '47.5 KB',
207207
},
208208
{
209209
name: 'CDN Bundle (incl. Replay, Logs, Metrics)',
@@ -215,25 +215,25 @@ module.exports = [
215215
name: 'CDN Bundle (incl. Tracing, Replay)',
216216
path: createCDNPath('bundle.tracing.replay.min.js'),
217217
gzip: true,
218-
limit: '82 KB',
218+
limit: '83.5 KB',
219219
},
220220
{
221221
name: 'CDN Bundle (incl. Tracing, Replay, Logs, Metrics)',
222222
path: createCDNPath('bundle.tracing.replay.logs.metrics.min.js'),
223223
gzip: true,
224-
limit: '83.5 KB',
224+
limit: '84.5 KB',
225225
},
226226
{
227227
name: 'CDN Bundle (incl. Tracing, Replay, Feedback)',
228228
path: createCDNPath('bundle.tracing.replay.feedback.min.js'),
229229
gzip: true,
230-
limit: '88 KB',
230+
limit: '89 KB',
231231
},
232232
{
233233
name: 'CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)',
234234
path: createCDNPath('bundle.tracing.replay.feedback.logs.metrics.min.js'),
235235
gzip: true,
236-
limit: '89 KB',
236+
limit: '90 KB',
237237
},
238238
// browser CDN bundles (non-gzipped)
239239
{
@@ -248,7 +248,7 @@ module.exports = [
248248
path: createCDNPath('bundle.tracing.min.js'),
249249
gzip: false,
250250
brotli: false,
251-
limit: '135 KB',
251+
limit: '138 KB',
252252
},
253253
{
254254
name: 'CDN Bundle (incl. Logs, Metrics) - uncompressed',
@@ -262,7 +262,7 @@ module.exports = [
262262
path: createCDNPath('bundle.tracing.logs.metrics.min.js'),
263263
gzip: false,
264264
brotli: false,
265-
limit: '138 KB',
265+
limit: '141.5 KB',
266266
},
267267
{
268268
name: 'CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed',
@@ -276,28 +276,28 @@ module.exports = [
276276
path: createCDNPath('bundle.tracing.replay.min.js'),
277277
gzip: false,
278278
brotli: false,
279-
limit: '252 KB',
279+
limit: '255.5 KB',
280280
},
281281
{
282282
name: 'CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed',
283283
path: createCDNPath('bundle.tracing.replay.logs.metrics.min.js'),
284284
gzip: false,
285285
brotli: false,
286-
limit: '255.5 KB',
286+
limit: '258.5 KB',
287287
},
288288
{
289289
name: 'CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed',
290290
path: createCDNPath('bundle.tracing.replay.feedback.min.js'),
291291
gzip: false,
292292
brotli: false,
293-
limit: '265 KB',
293+
limit: '268 KB',
294294
},
295295
{
296296
name: 'CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed',
297297
path: createCDNPath('bundle.tracing.replay.feedback.logs.metrics.min.js'),
298298
gzip: false,
299299
brotli: false,
300-
limit: '268.5 KB',
300+
limit: '271.5 KB',
301301
},
302302
// Next.js SDK (ESM)
303303
{

dev-packages/browser-integration-tests/suites/integrations/cultureContext-streamed/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { expect } from '@playwright/test';
22
import { sentryTest } from '../../../utils/fixtures';
33
import { getSpanOp, waitForStreamedSpans } from '../../../utils/spanUtils';
4-
import { shouldSkipTracingTest, testingCdnBundle } from '../../../utils/helpers';
4+
import { shouldSkipTracingTest } from '../../../utils/helpers';
55

66
sentryTest('cultureContextIntegration captures locale, timezone, and calendar', async ({ getLocalTestUrl, page }) => {
7-
sentryTest.skip(shouldSkipTracingTest() || testingCdnBundle());
7+
sentryTest.skip(shouldSkipTracingTest());
88
const url = await getLocalTestUrl({ testDir: __dirname });
99

1010
const spansPromise = waitForStreamedSpans(page, spans => spans.some(s => getSpanOp(s) === 'pageload'));

dev-packages/browser-integration-tests/suites/public-api/beforeSendSpan-streamed/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { expect } from '@playwright/test';
22
import { sentryTest } from '../../../utils/fixtures';
3-
import { shouldSkipTracingTest, testingCdnBundle } from '../../../utils/helpers';
3+
import { shouldSkipTracingTest } from '../../../utils/helpers';
44
import { getSpanOp, waitForStreamedSpan } from '../../../utils/spanUtils';
55

66
sentryTest('beforeSendSpan applies changes to streamed span', async ({ getLocalTestUrl, page }) => {
7-
sentryTest.skip(shouldSkipTracingTest() || testingCdnBundle());
7+
sentryTest.skip(shouldSkipTracingTest());
88

99
const url = await getLocalTestUrl({ testDir: __dirname });
1010

dev-packages/browser-integration-tests/suites/public-api/startSpan/streamed/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import {
1111
SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,
1212
} from '@sentry/core';
1313
import { sentryTest } from '../../../../utils/fixtures';
14-
import { shouldSkipTracingTest, testingCdnBundle } from '../../../../utils/helpers';
14+
import { shouldSkipTracingTest } from '../../../../utils/helpers';
1515
import { waitForStreamedSpanEnvelope } from '../../../../utils/spanUtils';
1616

1717
sentryTest(
1818
'sends a streamed span envelope if spanStreamingIntegration is enabled',
1919
async ({ getLocalTestUrl, page }) => {
20-
sentryTest.skip(shouldSkipTracingTest() || testingCdnBundle());
20+
sentryTest.skip(shouldSkipTracingTest());
2121

2222
const spanEnvelopePromise = waitForStreamedSpanEnvelope(page);
2323

0 commit comments

Comments
 (0)