Skip to content

fix(ci): Install native resolver bindings for Jest 30 on release builds#3194

Merged
romtsn merged 1 commit intomasterfrom
rz/fix/jest30-native-bindings
Mar 10, 2026
Merged

fix(ci): Install native resolver bindings for Jest 30 on release builds#3194
romtsn merged 1 commit intomasterfrom
rz/fix/jest30-native-bindings

Conversation

@romtsn
Copy link
Copy Markdown
Member

@romtsn romtsn commented Mar 9, 2026

Summary

  • Jest 30 uses @unrs/resolver which requires platform-specific native binaries installed as optional dependencies
  • The release CI path uses --omit=optional which skips these bindings entirely, causing Jest to fail with Module not found errors for setupFiles, transform, etc.
  • The regular CI path (npm ci --ignore-scripts) installs optional deps from the lockfile, so it's unaffected
  • Fix: run npx napi-postinstall unrs-resolver after install on release builds to install the correct native binary

Fixes CI failure on release/3.3.1: https://github.com/getsentry/sentry-cli/actions/runs/22871154749

Test plan

  • Verified root cause: --omit=optional skips @unrs/resolver-binding-linux-x64-gnu
  • Already pushed to release/3.3.1 for testing

https://github.com/getsentry/sentry-cli/actions/runs/22871625332 successful run

🤖 Generated with Claude Code

Jest 30 uses @unrs/resolver which requires platform-specific native
binaries. The release CI path uses --omit=optional which skips these
bindings, causing Jest to fail with "Module not found" errors.

Run napi-postinstall after install on release builds to install the
correct native binary for the platform.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@romtsn romtsn requested review from a team as code owners March 9, 2026 19:51
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 9, 2026

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

### Fixes

- Install native resolver bindings for Jest 30 on release builds ([#3194](https://github.com/getsentry/sentry-cli/pull/3194))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description or adding a skip-changelog label.

Generated by 🚫 dangerJS against fd3515c

@romtsn romtsn added the skip-changelog Apply this label to PRs that do not contain any user-facing changes label Mar 9, 2026
Copy link
Copy Markdown
Member

@JPeer264 JPeer264 left a comment

Choose a reason for hiding this comment

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

Let's try it

@romtsn romtsn merged commit 7cfb612 into master Mar 10, 2026
24 of 25 checks passed
@romtsn romtsn deleted the rz/fix/jest30-native-bindings branch March 10, 2026 09:49
@JPeer264 JPeer264 mentioned this pull request Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Apply this label to PRs that do not contain any user-facing changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants