Skip to content

Commit de2277a

Browse files
committed
Merge branch 'develop' into feat/knexIntegration-node
2 parents 08a6d6d + 3750914 commit de2277a

File tree

1,031 files changed

+21809
-11915
lines changed

Some content is hidden

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

1,031 files changed

+21809
-11915
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module.exports = {
2121
'examples/**',
2222
'test/manual/**',
2323
'types/**',
24+
'scripts/*.js',
2425
],
2526
reportUnusedDisableDirectives: true,
2627
overrides: [

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ body:
7878
label: Link to Sentry event
7979
description:
8080
If applicable, please provide a link to the affected event from your Sentry account. The event will only be
81-
viewable by Sentry staff.
81+
viewable by Sentry staff; however, the event URL will still appear on your public GitHub issue.
8282
placeholder: https://sentry.io/organizations/<org-slug>/issues/<issue-id>/events/<event-id>/?project=<project-id>
8383
- type: textarea
8484
id: sdk-setup

.github/dependabot.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ updates:
1313
schedule:
1414
interval: 'weekly'
1515
allow:
16-
- dependency-name: "@sentry/cli"
17-
- dependency-name: "@sentry/vite-plugin"
16+
- dependency-name: "@sentry/*"
1817
- dependency-name: "@opentelemetry/*"
1918
- dependency-name: "@prisma/instrumentation"
20-
- dependency-name: "opentelemetry-instrumentation-fetch-node"
19+
- dependency-name: "opentelemetry-instrumentation-remix"
2120
versioning-strategy: increase
2221
commit-message:
2322
prefix: feat
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fail-on-severity: 'high'
2+
allow-ghsas:
3+
# dependency review does not allow specific file exclusions
4+
# we use an older version of NextJS in our tests and thus need to
5+
# exclude this
6+
# once our minimum supported version is over 14.1.1 this can be removed
7+
- GHSA-fr5h-rqp8-mj6g

.github/workflows/build.yml

Lines changed: 123 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
id: install_dependencies
153153

154154
- name: Check for Affected Nx Projects
155-
uses: dkhunt27/action-nx-affected-list@v5.3
155+
uses: dkhunt27/action-nx-affected-list@v6.1
156156
id: checkForAffected
157157
if: github.event_name == 'pull_request'
158158
with:
@@ -437,7 +437,7 @@ jobs:
437437
with:
438438
node-version-file: 'package.json'
439439
- name: Set up Deno
440-
uses: denoland/setup-deno@v1.1.4
440+
uses: denoland/setup-deno@v2.0.1
441441
with:
442442
deno-version: v1.38.5
443443
- name: Restore caches
@@ -458,8 +458,7 @@ jobs:
458458
strategy:
459459
fail-fast: false
460460
matrix:
461-
# TODO(lforst): Unpin Node.js version 22 when https://github.com/protobufjs/protobuf.js/issues/2025 is resolved which broke the nodejs tests
462-
node: [14, 16, 18, 20, '22.6.0']
461+
node: [14, 16, 18, 20, 22]
463462
steps:
464463
- name: Check out base commit (${{ github.event.pull_request.base.sha }})
465464
uses: actions/checkout@v4
@@ -500,7 +499,10 @@ jobs:
500499
job_profiling_node_unit_tests:
501500
name: Node Profiling Unit Tests
502501
needs: [job_get_metadata, job_build]
503-
if: needs.job_build.outputs.changed_node == 'true' || needs.job_get_metadata.outputs.changed_profiling_node == 'true' || github.event_name != 'pull_request'
502+
if: |
503+
needs.job_build.outputs.changed_node == 'true' ||
504+
needs.job_get_metadata.outputs.changed_profiling_node == 'true' ||
505+
github.event_name != 'pull_request'
504506
runs-on: ubuntu-latest
505507
timeout-minutes: 10
506508
steps:
@@ -607,6 +609,14 @@ jobs:
607609
overwrite: true
608610
retention-days: 7
609611

612+
- name: Upload test results to Codecov
613+
if: cancelled() == false
614+
continue-on-error: true
615+
uses: codecov/test-results-action@v1
616+
with:
617+
directory: dev-packages/browser-integration-tests
618+
token: ${{ secrets.CODECOV_TOKEN }}
619+
610620
job_browser_loader_tests:
611621
name: PW ${{ matrix.bundle }} Tests
612622
needs: [job_get_metadata, job_build]
@@ -650,6 +660,7 @@ jobs:
650660
run: |
651661
cd dev-packages/browser-integration-tests
652662
yarn test:loader
663+
653664
- name: Upload Playwright Traces
654665
uses: actions/upload-artifact@v4
655666
if: failure()
@@ -659,6 +670,14 @@ jobs:
659670
overwrite: true
660671
retention-days: 7
661672

673+
- name: Upload test results to Codecov
674+
if: cancelled() == false
675+
continue-on-error: true
676+
uses: codecov/test-results-action@v1
677+
with:
678+
directory: dev-packages/browser-integration-tests
679+
token: ${{ secrets.CODECOV_TOKEN }}
680+
662681
job_check_for_faulty_dts:
663682
name: Check for faulty .d.ts files
664683
needs: [job_get_metadata, job_build]
@@ -839,7 +858,7 @@ jobs:
839858
if: always() && needs.job_e2e_prepare.result == 'success'
840859
needs: [job_get_metadata, job_build, job_e2e_prepare]
841860
runs-on: ubuntu-20.04
842-
timeout-minutes: 10
861+
timeout-minutes: 15
843862
env:
844863
# We just use a dummy DSN here, only send to the tunnel anyhow
845864
E2E_TEST_DSN: 'https://username@domain/123'
@@ -878,12 +897,15 @@ jobs:
878897
'node-express-cjs-preload',
879898
'node-otel-sdk-node',
880899
'node-otel-custom-sampler',
900+
'node-otel-without-tracing',
881901
'ember-classic',
882902
'ember-embroider',
883903
'nextjs-app-dir',
884904
'nextjs-13',
885905
'nextjs-14',
886906
'nextjs-15',
907+
'nextjs-turbo',
908+
'nextjs-t3',
887909
'react-17',
888910
'react-19',
889911
'react-create-hash-router',
@@ -892,23 +914,30 @@ jobs:
892914
'react-router-6',
893915
'solid',
894916
'solidstart',
917+
'solidstart-spa',
895918
'svelte-5',
896919
'sveltekit',
897920
'sveltekit-2',
898921
'sveltekit-2-svelte-5',
922+
'sveltekit-2-twp',
899923
'tanstack-router',
900924
'generic-ts3.8',
901925
'node-fastify',
926+
'node-fastify-5',
902927
'node-hapi',
903928
'node-nestjs-basic',
904929
'node-nestjs-distributed-tracing',
905930
'nestjs-basic',
906931
'nestjs-distributed-tracing',
907932
'nestjs-with-submodules',
933+
'nestjs-with-submodules-decorator',
934+
'nestjs-basic-with-graphql',
935+
'nestjs-graphql',
908936
'node-exports-test-app',
909937
'node-koa',
910938
'node-connect',
911939
'nuxt-3',
940+
'nuxt-4',
912941
'vue-3',
913942
'webpack-4',
914943
'webpack-5'
@@ -991,14 +1020,46 @@ jobs:
9911020

9921021
- name: Build E2E app
9931022
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
994-
timeout-minutes: 5
1023+
timeout-minutes: 7
9951024
run: pnpm ${{ matrix.build-command || 'test:build' }}
9961025

9971026
- name: Run E2E test
9981027
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
999-
timeout-minutes: 5
1028+
timeout-minutes: 10
10001029
run: pnpm test:assert
10011030

1031+
- name: Upload Playwright Traces
1032+
uses: actions/upload-artifact@v4
1033+
if: failure()
1034+
with:
1035+
name: playwright-traces-job_e2e_playwright_tests-${{ matrix.test-application}}
1036+
path: dev-packages/e2e-tests/test-applications/${{ matrix.test-application}}/test-results
1037+
overwrite: true
1038+
retention-days: 7
1039+
1040+
- name: Pre-process E2E Test Dumps
1041+
if: always()
1042+
run: |
1043+
node ./scripts/normalize-e2e-test-dump-transaction-events.js
1044+
1045+
- name: Upload E2E Test Event Dumps
1046+
uses: actions/upload-artifact@v4
1047+
if: always()
1048+
with:
1049+
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
1050+
path: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/event-dumps
1051+
overwrite: true
1052+
retention-days: 7
1053+
if-no-files-found: ignore
1054+
1055+
- name: Upload test results to Codecov
1056+
if: cancelled() == false
1057+
continue-on-error: true
1058+
uses: codecov/test-results-action@v1
1059+
with:
1060+
directory: dev-packages/e2e-tests
1061+
token: ${{ secrets.CODECOV_TOKEN }}
1062+
10021063
job_optional_e2e_tests:
10031064
name: E2E ${{ matrix.label || matrix.test-application }} Test
10041065
# We only run E2E tests for non-fork PRs because the E2E tests require secrets to work and they can't be accessed from forks
@@ -1010,7 +1071,7 @@ jobs:
10101071
github.actor != 'dependabot[bot]'
10111072
needs: [job_get_metadata, job_build, job_e2e_prepare]
10121073
runs-on: ubuntu-20.04
1013-
timeout-minutes: 10
1074+
timeout-minutes: 15
10141075
env:
10151076
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
10161077
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
@@ -1044,6 +1105,36 @@ jobs:
10441105
- test-application: 'create-remix-app-legacy'
10451106
assert-command: 'test:assert-sourcemaps'
10461107
label: 'create-remix-app-legacy (sourcemaps)'
1108+
- test-application: 'nextjs-app-dir'
1109+
build-command: 'test:build-canary'
1110+
label: 'nextjs-app-dir (canary)'
1111+
- test-application: 'nextjs-app-dir'
1112+
build-command: 'test:build-latest'
1113+
label: 'nextjs-app-dir (latest)'
1114+
- test-application: 'nextjs-13'
1115+
build-command: 'test:build-canary'
1116+
label: 'nextjs-13 (canary)'
1117+
- test-application: 'nextjs-13'
1118+
build-command: 'test:build-latest'
1119+
label: 'nextjs-13 (latest)'
1120+
- test-application: 'nextjs-14'
1121+
build-command: 'test:build-canary'
1122+
label: 'nextjs-14 (canary)'
1123+
- test-application: 'nextjs-14'
1124+
build-command: 'test:build-latest'
1125+
label: 'nextjs-14 (latest)'
1126+
- test-application: 'nextjs-15'
1127+
build-command: 'test:build-canary'
1128+
label: 'nextjs-15 (canary)'
1129+
- test-application: 'nextjs-15'
1130+
build-command: 'test:build-latest'
1131+
label: 'nextjs-15 (latest)'
1132+
- test-application: 'nextjs-turbo'
1133+
build-command: 'test:build-canary'
1134+
label: 'nextjs-turbo (canary)'
1135+
- test-application: 'nextjs-turbo'
1136+
build-command: 'test:build-latest'
1137+
label: 'nextjs-turbo (latest)'
10471138

10481139
steps:
10491140
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
@@ -1095,14 +1186,29 @@ jobs:
10951186

10961187
- name: Build E2E app
10971188
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1098-
timeout-minutes: 5
1189+
timeout-minutes: 7
10991190
run: pnpm ${{ matrix.build-command || 'test:build' }}
11001191

11011192
- name: Run E2E test
11021193
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1103-
timeout-minutes: 5
1194+
timeout-minutes: 10
11041195
run: pnpm ${{ matrix.assert-command || 'test:assert' }}
11051196

1197+
- name: Pre-process E2E Test Dumps
1198+
if: always()
1199+
run: |
1200+
node ./scripts/normalize-e2e-test-dump-transaction-events.js
1201+
1202+
- name: Upload E2E Test Event Dumps
1203+
uses: actions/upload-artifact@v4
1204+
if: always()
1205+
with:
1206+
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
1207+
path: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/event-dumps
1208+
overwrite: true
1209+
retention-days: 7
1210+
if-no-files-found: ignore
1211+
11061212
- name: Deploy Astro to Cloudflare
11071213
uses: cloudflare/pages-action@v1
11081214
if: matrix.test-application == 'cloudflare-astro'
@@ -1125,12 +1231,11 @@ jobs:
11251231
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
11261232
(
11271233
(needs.job_get_metadata.outputs.changed_profiling_node == 'true') ||
1128-
(needs.job_get_metadata.outputs.is_release == 'true') ||
1129-
(github.event_name != 'pull_request')
1234+
(needs.job_get_metadata.outputs.is_release == 'true')
11301235
)
11311236
needs: [job_get_metadata, job_build, job_e2e_prepare]
11321237
runs-on: ubuntu-20.04
1133-
timeout-minutes: 10
1238+
timeout-minutes: 15
11341239
env:
11351240
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
11361241
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
@@ -1155,7 +1260,7 @@ jobs:
11551260
- name: Set up Node
11561261
uses: actions/setup-node@v4
11571262
with:
1158-
node-version-file: 'dev-packages/e2e-tests/package.json'
1263+
node-version: 22
11591264
- name: Restore caches
11601265
uses: ./.github/actions/restore-cache
11611266
with:
@@ -1202,12 +1307,12 @@ jobs:
12021307

12031308
- name: Build E2E app
12041309
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1205-
timeout-minutes: 5
1310+
timeout-minutes: 7
12061311
run: yarn ${{ matrix.build-command || 'test:build' }}
12071312

12081313
- name: Run E2E test
12091314
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1210-
timeout-minutes: 5
1315+
timeout-minutes: 10
12111316
run: yarn test:assert
12121317

12131318
job_required_jobs_passed:
@@ -1241,57 +1346,14 @@ jobs:
12411346
run: |
12421347
echo "One of the dependent jobs have failed. You may need to re-run it." && exit 1
12431348
1244-
overhead_metrics:
1245-
name: Overhead metrics
1246-
needs: [job_get_metadata, job_build]
1247-
runs-on: ubuntu-20.04
1248-
timeout-minutes: 30
1249-
if: |
1250-
contains(github.event.pull_request.labels.*.name, 'ci-overhead-measurements')
1251-
steps:
1252-
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
1253-
uses: actions/checkout@v4
1254-
with:
1255-
ref: ${{ env.HEAD_COMMIT }}
1256-
- name: Set up Node
1257-
uses: actions/setup-node@v4
1258-
with:
1259-
node-version-file: 'package.json'
1260-
- name: Restore caches
1261-
uses: ./.github/actions/restore-cache
1262-
with:
1263-
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
1264-
1265-
- name: Collect
1266-
run: yarn ci:collect
1267-
working-directory: dev-packages/overhead-metrics
1268-
1269-
- name: Process
1270-
id: process
1271-
run: yarn ci:process
1272-
working-directory: dev-packages/overhead-metrics
1273-
# Don't run on forks - the PR comment cannot be added.
1274-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
1275-
env:
1276-
GITHUB_TOKEN: ${{ github.token }}
1277-
1278-
- name: Upload results
1279-
uses: actions/upload-artifact@v4
1280-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
1281-
with:
1282-
name: ${{ steps.process.outputs.artifactName }}
1283-
path: ${{ steps.process.outputs.artifactPath }}
1284-
retention-days: 7
1285-
12861349
job_compile_bindings_profiling_node:
12871350
name: Compile & Test Profiling Bindings (v${{ matrix.node }}) ${{ matrix.target_platform || matrix.os }}, ${{ matrix.node || matrix.container }}, ${{ matrix.arch || matrix.container }}, ${{ contains(matrix.container, 'alpine') && 'musl' || 'glibc' }}
12881351
needs: [job_get_metadata, job_build]
12891352
# Compiling bindings can be very slow (especially on windows), so only run precompile
12901353
# Skip precompile unless we are on a release branch as precompile slows down CI times.
12911354
if: |
12921355
(needs.job_get_metadata.outputs.changed_profiling_node == 'true') ||
1293-
(needs.job_get_metadata.outputs.is_release == 'true') ||
1294-
(github.event_name != 'pull_request')
1356+
(needs.job_get_metadata.outputs.is_release == 'true')
12951357
runs-on: ${{ matrix.os }}
12961358
container: ${{ matrix.container }}
12971359
timeout-minutes: 30

0 commit comments

Comments
 (0)