getsentry / sentry-react-native

Official Sentry SDK for React Native
https://sentry.io
MIT License
1.58k stars 338 forks source link

feat(plugin): Add support for `.env.sentry-build-plugin` #4281

Closed krystofwoldrich closed 3 days ago

krystofwoldrich commented 1 week ago

:loudspeaker: Type of change

:scroll: Description

This PR adds support for .env.sentry-build-plugin located in the root of the React Native project.

This can later be used by Sentry Wizard to add the Sentry Auth Token.

This is already used by Sentry JS SDKs.

:bulb: Motivation and Context

Fix out of the box source maps upload without having to manually set SENTRY_AUTH_TOKEN in the environment. Currently the wizard add SENTRY_AUTH_TOKEN to .env.local file which out of the box works only for EAS source maps uploads but not for native Android and iOS builds.

:green_heart: How did you test it?

using both Expo and bare React Native sample apps

:pencil: Checklist

github-actions[bot] commented 1 week ago
Messages
:book: Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by :no_entry_sign: dangerJS against ccac381e74a53a87afa3e19689f17adb46543862

github-actions[bot] commented 1 week ago

Android (legacy) Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 429.69 ms 431.47 ms 1.78 ms
Size 17.74 MiB 20.08 MiB 2.34 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82 316.88 ms 330.23 ms 13.35 ms
544699261cd72e3efc1259ba66b138f5f70a05ed 403.40 ms 426.70 ms 23.30 ms
eb1e19f7a83a5f585992ae2f5e6e25251812d286 433.55 ms 444.90 ms 11.35 ms
cdf2f334f8389e9747b61d338d9ba8945027b0d1 469.46 ms 462.17 ms -7.29 ms
70e6261eb7fdf57e3aba1f72d12c3eb518bcad99 482.65 ms 495.70 ms 13.05 ms
457e29fc08e6edbebee646d095513d72728a5756 398.10 ms 421.39 ms 23.29 ms
80b2ce3d0ebe86bf1196944a2036912f6670295c 385.02 ms 387.36 ms 2.34 ms
8ae23a70cf23a4f7a3c54784f496e7af813b7a48 526.83 ms 513.38 ms -13.45 ms
2ec71da2fbe36565c59c20f960c72fc75737275c 438.14 ms 460.46 ms 22.32 ms
d361d3886b2303280797f653160c781700570edf 354.10 ms 381.69 ms 27.59 ms

App size

Revision Plain With Sentry Diff
e2b64fed057d4b01cf7ad79eb19eb3c8b8002a82 17.73 MiB 19.80 MiB 2.07 MiB
544699261cd72e3efc1259ba66b138f5f70a05ed 17.73 MiB 19.85 MiB 2.12 MiB
eb1e19f7a83a5f585992ae2f5e6e25251812d286 17.74 MiB 20.08 MiB 2.34 MiB
cdf2f334f8389e9747b61d338d9ba8945027b0d1 17.74 MiB 20.08 MiB 2.34 MiB
70e6261eb7fdf57e3aba1f72d12c3eb518bcad99 17.73 MiB 19.94 MiB 2.21 MiB
457e29fc08e6edbebee646d095513d72728a5756 17.73 MiB 19.84 MiB 2.10 MiB
80b2ce3d0ebe86bf1196944a2036912f6670295c 17.73 MiB 19.75 MiB 2.02 MiB
8ae23a70cf23a4f7a3c54784f496e7af813b7a48 17.74 MiB 20.07 MiB 2.34 MiB
2ec71da2fbe36565c59c20f960c72fc75737275c 17.73 MiB 20.10 MiB 2.37 MiB
d361d3886b2303280797f653160c781700570edf 17.73 MiB 19.81 MiB 2.08 MiB
github-actions[bot] commented 1 week ago

Android (new) Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 347.55 ms 406.04 ms 58.49 ms
Size 7.15 MiB 8.35 MiB 1.20 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
457e29fc08e6edbebee646d095513d72728a5756+dirty 591.49 ms 612.96 ms 21.47 ms
63ed251266077130df2d3a329b28bd4718163a8c+dirty 485.02 ms 531.16 ms 46.14 ms
ac41368cedb5f4e78bd1019e9a859ea193c3fb1a+dirty 395.91 ms 451.17 ms 55.26 ms
1d86dd6360b3a0207437816b46e13d91fdeaf4aa+dirty 335.76 ms 371.22 ms 35.46 ms
575f9da84059fc88110565adb1ffc0751799bcf4+dirty 337.15 ms 370.47 ms 33.32 ms
e540498478edf6f59bd7e731809a3ea6409dcc1c+dirty 408.56 ms 480.00 ms 71.44 ms
4a6664fa7140687cfa079f2d738b59b18e4ac7b7+dirty 357.02 ms 394.91 ms 37.89 ms
9cd0e9f31adeacd7a9e9d72e5abd20cf25aca692+dirty 383.65 ms 418.65 ms 35.00 ms
e1ea4a881cf6232956e5a1e1a2e7b6a8eba730d0+dirty 451.98 ms 497.58 ms 45.60 ms
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 322.55 ms 331.84 ms 9.29 ms

App size

Revision Plain With Sentry Diff
457e29fc08e6edbebee646d095513d72728a5756+dirty 7.15 MiB 8.10 MiB 981.29 KiB
63ed251266077130df2d3a329b28bd4718163a8c+dirty 7.15 MiB 8.35 MiB 1.20 MiB
ac41368cedb5f4e78bd1019e9a859ea193c3fb1a+dirty 7.15 MiB 8.39 MiB 1.24 MiB
1d86dd6360b3a0207437816b46e13d91fdeaf4aa+dirty 7.15 MiB 8.13 MiB 1002.18 KiB
575f9da84059fc88110565adb1ffc0751799bcf4+dirty 7.15 MiB 8.10 MiB 979.68 KiB
e540498478edf6f59bd7e731809a3ea6409dcc1c+dirty 7.15 MiB 8.38 MiB 1.23 MiB
4a6664fa7140687cfa079f2d738b59b18e4ac7b7+dirty 7.15 MiB 8.22 MiB 1.07 MiB
9cd0e9f31adeacd7a9e9d72e5abd20cf25aca692+dirty 7.15 MiB 8.35 MiB 1.20 MiB
e1ea4a881cf6232956e5a1e1a2e7b6a8eba730d0+dirty 7.15 MiB 8.35 MiB 1.20 MiB
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 7.15 MiB 8.04 MiB 912.27 KiB
github-actions[bot] commented 1 week ago

iOS (new) Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1239.27 ms 1236.63 ms -2.64 ms
Size 2.92 MiB 3.66 MiB 758.60 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
fe135918376819714679fec8bf2bb2e1f07ec64b+dirty 1250.69 ms 1246.27 ms -4.43 ms
d2c32bbdb8e91690865169f98c6ef7e2ed672df2+dirty 1244.00 ms 1245.77 ms 1.77 ms
c2a4e9b9386a596d6e84a9d857c77418388c0e5f+dirty 1247.39 ms 1243.04 ms -4.35 ms
ad6c2993f6b77abbcf4094d17dd1fa9f7742ae99+dirty 1248.50 ms 1248.88 ms 0.38 ms
eb1e19f7a83a5f585992ae2f5e6e25251812d286+dirty 1229.91 ms 1231.63 ms 1.71 ms
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 1284.11 ms 1297.82 ms 13.71 ms
1faf8e36aa9f577383f75fcefacad011fe82a691+dirty 1223.38 ms 1220.56 ms -2.82 ms
6e8584e8f1988b33cc24c85f32711c91358905fa+dirty 1271.71 ms 1281.26 ms 9.55 ms
52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty 1255.96 ms 1273.00 ms 17.04 ms
4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty 1220.43 ms 1215.13 ms -5.30 ms

App size

Revision Plain With Sentry Diff
fe135918376819714679fec8bf2bb2e1f07ec64b+dirty 2.92 MiB 3.66 MiB 757.71 KiB
d2c32bbdb8e91690865169f98c6ef7e2ed672df2+dirty 2.92 MiB 3.64 MiB 742.84 KiB
c2a4e9b9386a596d6e84a9d857c77418388c0e5f+dirty 2.92 MiB 3.64 MiB 739.91 KiB
ad6c2993f6b77abbcf4094d17dd1fa9f7742ae99+dirty 2.92 MiB 3.40 MiB 494.12 KiB
eb1e19f7a83a5f585992ae2f5e6e25251812d286+dirty 2.92 MiB 3.64 MiB 742.82 KiB
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 2.92 MiB 3.40 MiB 494.15 KiB
1faf8e36aa9f577383f75fcefacad011fe82a691+dirty 2.92 MiB 3.64 MiB 742.61 KiB
6e8584e8f1988b33cc24c85f32711c91358905fa+dirty 2.92 MiB 3.44 MiB 536.52 KiB
52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty 2.92 MiB 3.38 MiB 475.71 KiB
4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty 2.92 MiB 3.61 MiB 705.47 KiB
github-actions[bot] commented 1 week ago

iOS (legacy) Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1219.44 ms 1224.04 ms 4.60 ms
Size 2.36 MiB 3.10 MiB 753.35 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
fe135918376819714679fec8bf2bb2e1f07ec64b+dirty 1208.25 ms 1219.53 ms 11.28 ms
d2c32bbdb8e91690865169f98c6ef7e2ed672df2+dirty 1223.69 ms 1229.49 ms 5.80 ms
c2a4e9b9386a596d6e84a9d857c77418388c0e5f+dirty 1240.10 ms 1239.22 ms -0.88 ms
ad6c2993f6b77abbcf4094d17dd1fa9f7742ae99+dirty 1244.76 ms 1260.10 ms 15.34 ms
eb1e19f7a83a5f585992ae2f5e6e25251812d286+dirty 1209.56 ms 1214.94 ms 5.38 ms
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 1256.02 ms 1265.14 ms 9.12 ms
1faf8e36aa9f577383f75fcefacad011fe82a691+dirty 1214.87 ms 1222.83 ms 7.97 ms
6e8584e8f1988b33cc24c85f32711c91358905fa+dirty 1274.50 ms 1296.82 ms 22.32 ms
52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty 1280.88 ms 1289.78 ms 8.90 ms
4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty 1211.45 ms 1214.60 ms 3.16 ms

App size

Revision Plain With Sentry Diff
fe135918376819714679fec8bf2bb2e1f07ec64b+dirty 2.36 MiB 3.10 MiB 752.40 KiB
d2c32bbdb8e91690865169f98c6ef7e2ed672df2+dirty 2.36 MiB 3.08 MiB 737.22 KiB
c2a4e9b9386a596d6e84a9d857c77418388c0e5f+dirty 2.36 MiB 3.08 MiB 734.00 KiB
ad6c2993f6b77abbcf4094d17dd1fa9f7742ae99+dirty 2.36 MiB 2.84 MiB 488.85 KiB
eb1e19f7a83a5f585992ae2f5e6e25251812d286+dirty 2.36 MiB 3.08 MiB 737.21 KiB
b1e87125f5dbad623a4e4293384e68e8f702cc19+dirty 2.36 MiB 2.84 MiB 488.84 KiB
1faf8e36aa9f577383f75fcefacad011fe82a691+dirty 2.36 MiB 3.08 MiB 736.75 KiB
6e8584e8f1988b33cc24c85f32711c91358905fa+dirty 2.36 MiB 2.88 MiB 533.17 KiB
52a80311c249f8c654de5d063c8be172a2dc9e5a+dirty 2.36 MiB 2.82 MiB 469.44 KiB
4cc5c276b8e06761211f41601792dfcbfc7dd854+dirty 2.36 MiB 3.04 MiB 698.52 KiB