Conversation
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
| release: env.EAS_BUILD_APP_VERSION, | ||
| tags: { ...createEASBuildTags(env), ...customTags }, | ||
| contexts: { eas_build: createEASBuildContext(env), runtime: { name: 'node', version: process.version } }, | ||
| sdk: { name: 'sentry.javascript.react-native.eas-build-hooks', version: '1.0.0' }, |
There was a problem hiding this comment.
Hardcoded SDK version diverges from actual package version
Medium Severity
The sdk.version in createBaseEvent is hardcoded as '1.0.0' while the actual package version is '8.1.0'. The SDK_VERSION constant is already available in ../version and used elsewhere (e.g., sdkinfo.ts). This means every EAS build hook event sent to Sentry will report an incorrect SDK version, and it will never auto-update with future releases.
There was a problem hiding this comment.
This feedback looks valid 👍
Android (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| eeebd10+dirty | 493.12 ms | 545.91 ms | 52.79 ms |
| 664c66f+dirty | 434.82 ms | 471.38 ms | 36.56 ms |
| d73150f+dirty | 411.21 ms | 465.86 ms | 54.65 ms |
| 4a17c8f+dirty | 406.62 ms | 400.58 ms | -6.04 ms |
| 2adbd1e+dirty | 433.98 ms | 427.96 ms | -6.02 ms |
| 98f632c | 424.25 ms | 435.48 ms | 11.23 ms |
| 9ced351+dirty | 405.40 ms | 419.39 ms | 13.98 ms |
| 64cd15c | 439.02 ms | 427.63 ms | -11.39 ms |
| 8490686+dirty | 365.59 ms | 400.24 ms | 34.65 ms |
| 1853710 | 555.47 ms | 556.59 ms | 1.12 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| eeebd10+dirty | 43.75 MiB | 48.41 MiB | 4.66 MiB |
| 664c66f+dirty | 43.75 MiB | 48.55 MiB | 4.80 MiB |
| d73150f+dirty | 43.75 MiB | 48.55 MiB | 4.80 MiB |
| 4a17c8f+dirty | 43.75 MiB | 47.99 MiB | 4.24 MiB |
| 2adbd1e+dirty | 17.75 MiB | 19.70 MiB | 1.96 MiB |
| 98f632c | 17.75 MiB | 20.15 MiB | 2.41 MiB |
| 9ced351+dirty | 43.75 MiB | 48.41 MiB | 4.66 MiB |
| 64cd15c | 17.75 MiB | 20.15 MiB | 2.41 MiB |
| 8490686+dirty | 17.75 MiB | 19.70 MiB | 1.96 MiB |
| 1853710 | 17.75 MiB | 19.68 MiB | 1.94 MiB |
iOS (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ea3e26e+dirty | 1229.13 ms | 1228.46 ms | -0.67 ms |
| 80e4616+dirty | 1221.32 ms | 1225.64 ms | 4.32 ms |
| 818a608+dirty | 1205.76 ms | 1208.00 ms | 2.24 ms |
| 77061ed+dirty | 1233.16 ms | 1234.88 ms | 1.71 ms |
| bef3709+dirty | 1222.07 ms | 1220.24 ms | -1.83 ms |
| a206511+dirty | 1185.00 ms | 1186.35 ms | 1.35 ms |
| 74979ac+dirty | 1210.49 ms | 1213.31 ms | 2.82 ms |
| a2bb688+dirty | 1223.53 ms | 1232.90 ms | 9.37 ms |
| 8a868fe+dirty | 1221.50 ms | 1230.78 ms | 9.28 ms |
| d590428+dirty | 1211.77 ms | 1220.51 ms | 8.75 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ea3e26e+dirty | 3.41 MiB | 4.58 MiB | 1.17 MiB |
| 80e4616+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| 818a608+dirty | 2.63 MiB | 3.91 MiB | 1.28 MiB |
| 77061ed+dirty | 2.63 MiB | 3.98 MiB | 1.34 MiB |
| bef3709+dirty | 3.38 MiB | 4.78 MiB | 1.40 MiB |
| a206511+dirty | 3.41 MiB | 4.67 MiB | 1.25 MiB |
| 74979ac+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| a2bb688+dirty | 2.63 MiB | 3.99 MiB | 1.36 MiB |
| 8a868fe+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| d590428+dirty | 3.38 MiB | 4.78 MiB | 1.39 MiB |
Android (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 664c66f+dirty | 376.23 ms | 389.51 ms | 13.28 ms |
| d73150f+dirty | 424.60 ms | 454.35 ms | 29.75 ms |
| 4a17c8f+dirty | 368.54 ms | 381.43 ms | 12.89 ms |
| b3b5b0d+dirty | 361.42 ms | 403.90 ms | 42.48 ms |
| 9ced351+dirty | 361.74 ms | 411.45 ms | 49.70 ms |
| 7886639+dirty | 530.30 ms | 571.34 ms | 41.04 ms |
| c08359e+dirty | 406.04 ms | 428.87 ms | 22.83 ms |
| 3099014+dirty | 344.58 ms | 404.21 ms | 59.63 ms |
| d751a5d+dirty | 341.61 ms | 403.06 ms | 61.45 ms |
| 682f0f5+dirty | 402.33 ms | 440.61 ms | 38.28 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 664c66f+dirty | 43.94 MiB | 49.38 MiB | 5.44 MiB |
| d73150f+dirty | 43.94 MiB | 49.38 MiB | 5.44 MiB |
| 4a17c8f+dirty | 43.94 MiB | 48.82 MiB | 4.88 MiB |
| b3b5b0d+dirty | 7.15 MiB | 8.41 MiB | 1.26 MiB |
| 9ced351+dirty | 43.94 MiB | 49.27 MiB | 5.33 MiB |
| 7886639+dirty | 43.94 MiB | 49.28 MiB | 5.34 MiB |
| c08359e+dirty | 7.15 MiB | 8.42 MiB | 1.27 MiB |
| 3099014+dirty | 7.15 MiB | 8.43 MiB | 1.27 MiB |
| d751a5d+dirty | 7.15 MiB | 8.41 MiB | 1.26 MiB |
| 682f0f5+dirty | 43.94 MiB | 48.91 MiB | 4.97 MiB |
iOS (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ea3e26e+dirty | 1216.61 ms | 1214.15 ms | -2.47 ms |
| 80e4616+dirty | 1206.90 ms | 1205.94 ms | -0.96 ms |
| 818a608+dirty | 1218.84 ms | 1223.18 ms | 4.34 ms |
| 77061ed+dirty | 1210.77 ms | 1218.45 ms | 7.68 ms |
| bef3709+dirty | 1217.79 ms | 1225.33 ms | 7.54 ms |
| a206511+dirty | 1225.02 ms | 1223.74 ms | -1.28 ms |
| 74979ac+dirty | 1212.33 ms | 1212.54 ms | 0.21 ms |
| a2bb688+dirty | 1244.82 ms | 1238.60 ms | -6.22 ms |
| 8a868fe+dirty | 1206.85 ms | 1215.04 ms | 8.19 ms |
| d590428+dirty | 1221.23 ms | 1225.27 ms | 4.03 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ea3e26e+dirty | 3.41 MiB | 4.58 MiB | 1.17 MiB |
| 80e4616+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| 818a608+dirty | 3.19 MiB | 4.48 MiB | 1.29 MiB |
| 77061ed+dirty | 3.19 MiB | 4.54 MiB | 1.36 MiB |
| bef3709+dirty | 3.38 MiB | 4.78 MiB | 1.40 MiB |
| a206511+dirty | 3.41 MiB | 4.67 MiB | 1.25 MiB |
| 74979ac+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| a2bb688+dirty | 3.19 MiB | 4.56 MiB | 1.37 MiB |
| 8a868fe+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| d590428+dirty | 3.38 MiB | 4.78 MiB | 1.39 MiB |
Yeah, adding a feature changelog would be nice. |
| * | ||
| * Add it to your package.json scripts: | ||
| * | ||
| * "eas-build-on-complete": "sentry-eas-build-on-complete" |
There was a problem hiding this comment.
It would be nice to have docs for these features and add a small mention on how to use them on changelog.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable autofix in the Cursor dashboard.
| const options = { | ||
| ...parseBaseOptions(), | ||
| successMessage: process.env.SENTRY_EAS_BUILD_SUCCESS_MESSAGE, | ||
| captureSuccessfulBuilds: process.env.SENTRY_EAS_BUILD_CAPTURE_SUCCESS === 'true', |
There was a problem hiding this comment.
Dedicated on-success hook is a no-op by default
Medium Severity
The build-on-success.js hook gates on SENTRY_EAS_BUILD_CAPTURE_SUCCESS === 'true', but a user who adds "eas-build-on-success": "sentry-eas-build-on-success" to their package.json has already opted in to capturing successful builds. Without also setting the env var, captureSuccessfulBuilds is false and captureEASBuildSuccess returns immediately, making the entire dedicated hook a silent no-op. The captureSuccessfulBuilds guard is appropriate for the on-complete hook (which handles both outcomes) but redundant for the dedicated on-success hook.


📢 Type of change
📜 Description
Introduces build hooks for EAS and fixes #5428
📝 Checklist
sendDefaultPIIis enabled