Skip to content

Commit 0aecb5f

Browse files
committed
Merge branch 'develop' into feat-remote-config-init
2 parents 3c48d79 + 8b926ea commit 0aecb5f

File tree

719 files changed

+12149
-6525
lines changed

Some content is hidden

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

719 files changed

+12149
-6525
lines changed

.github/workflows/build.yml

Lines changed: 98 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,6 @@ jobs:
436436
env:
437437
DEPENDENCY_CACHE_KEY: ${{ needs.job_build.outputs.dependency_cache_key }}
438438
- name: Run tests
439-
env:
440-
NODE_VERSION: 16
441439
run: yarn test-ci-browser
442440
- name: Compute test coverage
443441
uses: codecov/codecov-action@v4
@@ -985,7 +983,7 @@ jobs:
985983
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
986984
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
987985
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
988-
E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests'
986+
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
989987
strategy:
990988
fail-fast: false
991989
matrix:
@@ -994,6 +992,8 @@ jobs:
994992
test-application:
995993
[
996994
'angular-17',
995+
'angular-18',
996+
'aws-lambda-layer',
997997
'cloudflare-astro',
998998
'node-express',
999999
'create-react-app',
@@ -1002,19 +1002,23 @@ jobs:
10021002
'create-remix-app-v2',
10031003
'create-remix-app-express',
10041004
'create-remix-app-express-vite-dev',
1005-
'debug-id-sourcemaps',
10061005
'node-express-esm-loader',
1006+
'node-express-esm-preload',
10071007
'node-express-esm-without-loader',
1008+
'node-express-cjs-preload',
10081009
'nextjs-app-dir',
10091010
'nextjs-14',
1011+
'nextjs-15',
1012+
'react-19',
10101013
'react-create-hash-router',
10111014
'react-router-6-use-routes',
10121015
'react-router-5',
1013-
'standard-frontend-react',
1016+
'react-router-6',
10141017
'svelte-5',
10151018
'sveltekit',
10161019
'sveltekit-2',
10171020
'sveltekit-2-svelte-5',
1021+
'tanstack-router',
10181022
'generic-ts3.8',
10191023
'node-fastify',
10201024
'node-hapi',
@@ -1036,9 +1040,9 @@ jobs:
10361040
- test-application: 'create-react-app'
10371041
build-command: 'test:build-ts3.8'
10381042
label: 'create-react-app (TS 3.8)'
1039-
- test-application: 'standard-frontend-react'
1043+
- test-application: 'react-router-6'
10401044
build-command: 'test:build-ts3.8'
1041-
label: 'standard-frontend-react (TS 3.8)'
1045+
label: 'react-router-6 (TS 3.8)'
10421046
- test-application: 'create-next-app'
10431047
build-command: 'test:build-13'
10441048
label: 'create-next-app (next@13)'
@@ -1054,7 +1058,7 @@ jobs:
10541058
uses: actions/checkout@v4
10551059
with:
10561060
ref: ${{ env.HEAD_COMMIT }}
1057-
- uses: pnpm/action-setup@v2
1061+
- uses: pnpm/action-setup@v4
10581062
with:
10591063
version: 8.3.1
10601064
- name: Set up Node
@@ -1110,6 +1114,90 @@ jobs:
11101114
directory: dist
11111115
workingDirectory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
11121116

1117+
job_optional_e2e_tests:
1118+
name: E2E ${{ matrix.label || matrix.test-application }} Test
1119+
# 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
1120+
# We need to add the `always()` check here because the previous step has this as well :(
1121+
# See: https://github.com/actions/runner/issues/2205
1122+
if:
1123+
always() && needs.job_e2e_prepare.result == 'success' &&
1124+
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
1125+
needs: [job_get_metadata, job_build, job_e2e_prepare]
1126+
runs-on: ubuntu-20.04
1127+
timeout-minutes: 10
1128+
env:
1129+
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
1130+
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1131+
# Needed because some apps expect a certain prefix
1132+
NEXT_PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1133+
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1134+
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1135+
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
1136+
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
1137+
strategy:
1138+
fail-fast: false
1139+
matrix:
1140+
is_dependabot:
1141+
- ${{ github.actor == 'dependabot[bot]' }}
1142+
test-application:
1143+
[
1144+
'react-send-to-sentry',
1145+
'node-express-send-to-sentry',
1146+
'debug-id-sourcemaps',
1147+
]
1148+
build-command:
1149+
- false
1150+
label:
1151+
- false
1152+
1153+
steps:
1154+
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
1155+
uses: actions/checkout@v4
1156+
with:
1157+
ref: ${{ env.HEAD_COMMIT }}
1158+
- uses: pnpm/action-setup@v4
1159+
with:
1160+
version: 8.3.1
1161+
- name: Set up Node
1162+
uses: actions/setup-node@v4
1163+
with:
1164+
node-version-file: 'dev-packages/e2e-tests/package.json'
1165+
- name: Restore caches
1166+
uses: ./.github/actions/restore-cache
1167+
env:
1168+
DEPENDENCY_CACHE_KEY: ${{ needs.job_build.outputs.dependency_cache_key }}
1169+
1170+
- name: Restore tarball cache
1171+
uses: actions/cache/restore@v4
1172+
with:
1173+
path: ${{ github.workspace }}/packages/*/*.tgz
1174+
key: ${{ env.BUILD_CACHE_TARBALL_KEY }}
1175+
1176+
- name: Get node version
1177+
id: versions
1178+
run: |
1179+
echo "echo node=$(jq -r '.volta.node' dev-packages/e2e-tests/package.json)" >> $GITHUB_OUTPUT
1180+
1181+
- name: Validate Verdaccio
1182+
run: yarn test:validate
1183+
working-directory: dev-packages/e2e-tests
1184+
1185+
- name: Prepare Verdaccio
1186+
run: yarn test:prepare
1187+
working-directory: dev-packages/e2e-tests
1188+
env:
1189+
E2E_TEST_PUBLISH_SCRIPT_NODE_VERSION: ${{ steps.versions.outputs.node }}
1190+
1191+
- name: Build E2E app
1192+
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1193+
timeout-minutes: 5
1194+
run: yarn ${{ matrix.build-command || 'test:build' }}
1195+
1196+
- name: Run E2E test
1197+
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1198+
timeout-minutes: 5
1199+
run: yarn test:assert
1200+
11131201
job_profiling_e2e_tests:
11141202
name: E2E ${{ matrix.label || matrix.test-application }} Test
11151203
# 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
@@ -1132,7 +1220,7 @@ jobs:
11321220
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
11331221
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
11341222
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
1135-
E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests'
1223+
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
11361224
strategy:
11371225
fail-fast: false
11381226
matrix:
@@ -1146,7 +1234,7 @@ jobs:
11461234
uses: actions/checkout@v4
11471235
with:
11481236
ref: ${{ env.HEAD_COMMIT }}
1149-
- uses: pnpm/action-setup@v2
1237+
- uses: pnpm/action-setup@v4
11501238
with:
11511239
version: 8.3.1
11521240
- name: Set up Node

.github/workflows/canary.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ env:
1414

1515
CACHED_BUILD_PATHS: |
1616
${{ github.workspace }}/packages/*/*.tgz
17-
${{ github.workspace }}/dev-packages/event-proxy-server/build
17+
${{ github.workspace }}/dev-packages/test-utils/build
1818
${{ github.workspace }}/node_modules
1919
${{ github.workspace }}/packages/*/node_modules
2020
${{ github.workspace }}/dev-packages/*/node_modules
@@ -63,7 +63,7 @@ jobs:
6363
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
6464
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
6565
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
66-
E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests'
66+
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
6767
strategy:
6868
fail-fast: false
6969
matrix:
@@ -83,19 +83,25 @@ jobs:
8383
- test-application: 'nextjs-14'
8484
build-command: 'test:build-latest'
8585
label: 'nextjs-14 (latest)'
86+
- test-application: 'nextjs-15'
87+
build-command: 'test:build-canary'
88+
label: 'nextjs-15 (canary)'
89+
- test-application: 'nextjs-15'
90+
build-command: 'test:build-latest'
91+
label: 'nextjs-15 (latest)'
8692
- test-application: 'react-create-hash-router'
8793
build-command: 'test:build-canary'
8894
label: 'react-create-hash-router (canary)'
89-
- test-application: 'standard-frontend-react'
95+
- test-application: 'react-router-6'
9096
build-command: 'test:build-canary'
91-
label: 'standard-frontend-react (canary)'
97+
label: 'react-router-6 (canary)'
9298

9399
steps:
94100
- name: Check out current commit
95101
uses: actions/checkout@v4
96102
with:
97103
ref: ${{ env.HEAD_COMMIT }}
98-
- uses: pnpm/action-setup@v2
104+
- uses: pnpm/action-setup@v4
99105
with:
100106
version: 8.3.1
101107

@@ -153,7 +159,8 @@ jobs:
153159
strategy:
154160
fail-fast: false
155161
matrix:
156-
scenario: [ember-release, embroider-optimized, ember-4.0]
162+
# scenario: [ember-release, embroider-optimized, ember-4.0]
163+
scenario: [ember-4.0]
157164
steps:
158165
- name: 'Check out current commit'
159166
uses: actions/checkout@v4

.madgerc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"detectiveOptions": {
3+
"ts": {
4+
"skipTypeImports": true
5+
}
6+
}
7+
}

.size-limit.js

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const builtinModules = require('module').builtinModules;
2+
const nodePrefixedBuiltinModules = builtinModules.map(m => `node:${m}`);
3+
14
module.exports = [
25
// Browser SDK (ESM)
36
{
@@ -54,6 +57,20 @@ module.exports = [
5457
gzip: true,
5558
limit: '87 KB',
5659
},
60+
{
61+
name: '@sentry/browser (incl. Tracing, Replay, Feedback, metrics)',
62+
path: 'packages/browser/build/npm/esm/index.js',
63+
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'feedbackIntegration', 'metrics'),
64+
gzip: true,
65+
limit: '100 KB',
66+
},
67+
{
68+
name: '@sentry/browser (incl. metrics)',
69+
path: 'packages/browser/build/npm/esm/index.js',
70+
import: createImport('init', 'metrics'),
71+
gzip: true,
72+
limit: '40 KB',
73+
},
5774
{
5875
name: '@sentry/browser (incl. Feedback)',
5976
path: 'packages/browser/build/npm/esm/index.js',
@@ -80,13 +97,15 @@ module.exports = [
8097
name: '@sentry/react',
8198
path: 'packages/react/build/esm/index.js',
8299
import: createImport('init', 'ErrorBoundary'),
100+
ignore: ['react/jsx-runtime'],
83101
gzip: true,
84102
limit: '27 KB',
85103
},
86104
{
87105
name: '@sentry/react (incl. Tracing)',
88106
path: 'packages/react/build/esm/index.js',
89107
import: createImport('init', 'ErrorBoundary', 'reactRouterV6BrowserTracingIntegration'),
108+
ignore: ['react/jsx-runtime'],
90109
gzip: true,
91110
limit: '37 KB',
92111
},
@@ -130,7 +149,7 @@ module.exports = [
130149
name: 'CDN Bundle (incl. Tracing, Replay)',
131150
path: createCDNPath('bundle.tracing.replay.min.js'),
132151
gzip: true,
133-
limit: '70 KB',
152+
limit: '72 KB',
134153
},
135154
{
136155
name: 'CDN Bundle (incl. Tracing, Replay, Feedback)',
@@ -151,7 +170,7 @@ module.exports = [
151170
path: createCDNPath('bundle.tracing.min.js'),
152171
gzip: false,
153172
brotli: false,
154-
limit: '105 KB',
173+
limit: '110 KB',
155174
},
156175
{
157176
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',
@@ -190,24 +209,7 @@ module.exports = [
190209
name: '@sentry/node',
191210
path: 'packages/node/build/esm/index.js',
192211
import: createImport('init'),
193-
ignore: [
194-
'node:http',
195-
'node:https',
196-
'node:diagnostics_channel',
197-
'async_hooks',
198-
'child_process',
199-
'fs',
200-
'os',
201-
'path',
202-
'inspector',
203-
'worker_threads',
204-
'http',
205-
'stream',
206-
'zlib',
207-
'net',
208-
'tls',
209-
'module',
210-
],
212+
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
211213
gzip: true,
212214
limit: '180 KB',
213215
},
@@ -216,25 +218,7 @@ module.exports = [
216218
name: '@sentry/aws-serverless',
217219
path: 'packages/aws-serverless/build/npm/esm/index.js',
218220
import: createImport('init'),
219-
ignore: [
220-
'node:http',
221-
'node:https',
222-
'node:diagnostics_channel',
223-
'async_hooks',
224-
'child_process',
225-
'perf_hooks',
226-
'fs',
227-
'os',
228-
'path',
229-
'inspector',
230-
'worker_threads',
231-
'http',
232-
'stream',
233-
'zlib',
234-
'net',
235-
'tls',
236-
'module',
237-
],
221+
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
238222
gzip: true,
239223
limit: '140 KB',
240224
},

0 commit comments

Comments
 (0)