Skip to content

test(aws-serverless): Split npm & layer tests#20442

Open
mydea wants to merge 2 commits intodevelopfrom
fn/split-aws-serverless-test
Open

test(aws-serverless): Split npm & layer tests#20442
mydea wants to merge 2 commits intodevelopfrom
fn/split-aws-serverless-test

Conversation

@mydea
Copy link
Copy Markdown
Member

@mydea mydea commented Apr 22, 2026

This is on top of #20441

This PR splits the aws-serverless test app into two, aws-serverless, which tests the npm package directly, and aws-serverless-layer, which tests using the layer.

This allowed to make the test app easier to understand and follow and make the dependency graph clearer as well.
I choose to run the layer in different node versions and the npm stuff only in node 20, IMHO that should be good enough, I don't think we need to also run the npm stuff in all the node versions, so we can reduce the number of test apps a bit.

@mydea mydea requested review from andreiborza and nicohrubec April 22, 2026 09:09
@mydea mydea self-assigned this Apr 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 22, 2026

size-limit report 📦

Path Size % Change Change
@sentry/browser 25.88 kB - -
@sentry/browser - with treeshaking flags 24.35 kB - -
@sentry/browser (incl. Tracing) 43.81 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 45.5 kB - -
@sentry/browser (incl. Tracing, Profiling) 48.73 kB - -
@sentry/browser (incl. Tracing, Replay) 82.98 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.5 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 87.67 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 99.93 kB - -
@sentry/browser (incl. Feedback) 42.7 kB - -
@sentry/browser (incl. sendFeedback) 30.55 kB - -
@sentry/browser (incl. FeedbackAsync) 35.55 kB - -
@sentry/browser (incl. Metrics) 27.16 kB - -
@sentry/browser (incl. Logs) 27.29 kB - -
@sentry/browser (incl. Metrics & Logs) 27.98 kB - -
@sentry/react 27.62 kB - -
@sentry/react (incl. Tracing) 46.05 kB - -
@sentry/vue 30.71 kB - -
@sentry/vue (incl. Tracing) 45.62 kB - -
@sentry/svelte 25.89 kB - -
CDN Bundle 28.57 kB - -
CDN Bundle (incl. Tracing) 46.08 kB - -
CDN Bundle (incl. Logs, Metrics) 29.95 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 47.12 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 68.92 kB - -
CDN Bundle (incl. Tracing, Replay) 83.14 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.17 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 88.61 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 89.69 kB - -
CDN Bundle - uncompressed 83.59 kB - -
CDN Bundle (incl. Tracing) - uncompressed 137.62 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 87.73 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 141.03 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 211.31 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 255.06 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 258.46 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 267.97 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 271.36 kB - -
@sentry/nextjs (client) 48.58 kB - -
@sentry/sveltekit (client) 44.22 kB - -
@sentry/node-core 58.35 kB +0.02% +10 B 🔺
@sentry/node 175.66 kB +0.01% +15 B 🔺
@sentry/node - without tracing 98.3 kB +0.02% +13 B 🔺
@sentry/aws-serverless 115.33 kB +0.02% +13 B 🔺

View base workflow run

Base automatically changed from fn/better-aws-serverless-test to develop April 22, 2026 10:08
@mydea mydea force-pushed the fn/split-aws-serverless-test branch from 6779954 to 039637f Compare April 22, 2026 10:09
@mydea mydea marked this pull request as ready for review April 22, 2026 10:10
Comment on lines 15 to 25
"@playwright/test": "~1.56.0",
"@sentry-internal/test-utils": "link:../../../test-utils",
"@sentry/aws-serverless": "link:../../../../packages/aws-serverless/build/aws/dist-serverless/",
"@sentry/aws-serverless": "file:../../packed/sentry-aws-serverless-packed.tgz",
"aws-cdk-lib": "^2.210.0",
"constructs": "^10.4.2",
"glob": "^11.0.3",
"rimraf": "^5.0.10"
},
"volta": {
"extends": "../../package.json"
},
"//": "We need to override this here again to ensure this is not overwritten by the test runner",
"pnpm": {
"overrides": {
"@sentry/aws-serverless": "link:../../../../packages/aws-serverless/build/aws/dist-serverless/"
}
},
"sentryTest": {
"variants": [
{
"build-command": "NODE_VERSION=22 pnpm test:build",
"assert-command": "NODE_VERSION=22 pnpm test:assert",
"label": "aws-serverless (Node 22)"
},
{
"build-command": "NODE_VERSION=18 pnpm test:build",
"assert-command": "NODE_VERSION=18 pnpm test:assert",
"label": "aws-serverless (Node 18)"
}
]
}
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Removing sentryTest.variants from aws-serverless/package.json stops setting the NODE_VERSION environment variable, which will cause the test build to fail due to a runtime check.
Severity: HIGH

Suggested Fix

Restore the sentryTest.variants section in aws-serverless/package.json to ensure the NODE_VERSION environment variable is set during the CI test run. Alternatively, modify the test execution script to set NODE_VERSION for this test case.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: dev-packages/e2e-tests/test-applications/aws-serverless/package.json#L7-L25

Potential issue: The removal of the `sentryTest.variants` section from
`aws-serverless/package.json` means the `NODE_VERSION` environment variable will no
longer be set for this test application. The CI process will still include this test but
will use a default command that does not set `NODE_VERSION`. This will trigger a check
in `stack.ts` that throws an error if `process.env.NODE_VERSION` is not defined, causing
the test build to fail.

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we want this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant