Skip to content

chore(ci): Streamline CI setup to split bundle, layer, tarball generation#20396

Draft
mydea wants to merge 33 commits intodevelopfrom
fn/ci-test-structure
Draft

chore(ci): Streamline CI setup to split bundle, layer, tarball generation#20396
mydea wants to merge 33 commits intodevelopfrom
fn/ci-test-structure

Conversation

@mydea
Copy link
Copy Markdown
Member

@mydea mydea commented Apr 20, 2026

Noticed this while working on other things, this was a bit more spread out then necessary:

  • We used to have a e2e test prepare job, which would build and cache tarballs
  • This would also run test matrix stuff
  • Then we would possibly re-run tarball build later again

With this PR, we instead have a proper step to build tarballs which are stored as artifacts (which should never fail), and which are also reused if needed at the end. The test matrix detection goes into the metadata job, so we can possibly also use it for other things.

mydea and others added 13 commits April 16, 2026 16:23
…install

Replace `file:` directory references with `npm pack` tarballs when
installing @sentry/* packages into the Lambda layer's node_modules.

Previously, `yarn install` used `file:` references to workspace packages
with a fresh cache folder (to avoid stale cache issues), taking ~52s.
With tarballs, yarn can use its global cache and the install completes
in ~8s. Only transitive dependencies of @sentry/aws-serverless are
packed (~5 packages), keeping the packing step fast.

Total layer build time: ~97s → ~15s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Instead, only build this before uploading artifacts, as we do not really need this before.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 20, 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 0 B removed removed
CDN Bundle (incl. Tracing) 0 B removed removed
CDN Bundle (incl. Logs, Metrics) 0 B removed removed
CDN Bundle (incl. Tracing, Logs, Metrics) 0 B removed removed
CDN Bundle (incl. Replay, Logs, Metrics) 0 B removed removed
CDN Bundle (incl. Tracing, Replay) 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Feedback) 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 0 B removed removed
CDN Bundle - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing) - uncompressed 0 B removed removed
CDN Bundle (incl. Logs, Metrics) - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 0 B removed removed
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing, Replay) - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 0 B removed removed
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 0 B removed removed
@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% +13 B 🔺
@sentry/node - without tracing 98.3 kB +0.02% +12 B 🔺
@sentry/aws-serverless 115.33 kB +0.01% +11 B 🔺

View base workflow run

@mydea mydea force-pushed the fn/ci-test-structure branch 3 times, most recently from 4481233 to 8c330ce Compare April 22, 2026 07:29
@mydea mydea changed the title chore(ci): Streamline tarball packaging & e2e test matrix generation chore(ci): Streamline CI setup to split bundle, layer, tarball generation Apr 22, 2026
@mydea mydea force-pushed the fn/ci-test-structure branch from 8c330ce to 3f6e7fa Compare April 22, 2026 09:35
mydea added 2 commits April 22, 2026 14:52
fis check for bundles build

fix expression

fixes

fix for extension

dynamically build build_paths

fixes

fix e2e test

cache nx per-run
@mydea mydea force-pushed the fn/ci-test-structure branch from 027637c to e2a4045 Compare April 22, 2026 12:55
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