sentry-cocoa icon indicating copy to clipboard operation
sentry-cocoa copied to clipboard

test: package integration

Open armcknight opened this issue 6 months ago • 3 comments

Smoke test our binary XCFramework build for every combination of platform (ios, tvos etc) package manager (spm, cocoapods, carthage) and certain sdk variant combinations (static, dynamic, swiftui)

Add them to release.yml, so that this validation can happen after building the XCFramework for PRs, but before running the craft plugin for releases.

#skip-changelog

armcknight avatar Jun 08 '25 21:06 armcknight

Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1223.29 ms 1242.98 ms 19.69 ms
Size 23.75 KiB 905.30 KiB 881.55 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
248195076dafba5bac1b3aa7668eacd5267886e2 1221.04 ms 1248.98 ms 27.94 ms
a9fac2ee07f3f3fdfcfaa629a365dc234afa7678 1212.45 ms 1219.67 ms 7.22 ms
99104c9cbeb272fbbfef2b32c54c0529a17d471f 1224.84 ms 1247.08 ms 22.24 ms
7148f97e25599cdcfda4b0b8dec0329e155b90f1 1235.09 ms 1258.07 ms 22.98 ms
62799929787f2fedf64bbf922cda9e40ff7232b1 1213.60 ms 1241.38 ms 27.79 ms
aa96485c2c8bc1d7a75c5b779d1f0605948be3cf 1215.37 ms 1234.04 ms 18.67 ms
fc0757dafef9fca8b8101395728bae8800c6a65a 1231.83 ms 1248.98 ms 17.15 ms
7c7ac56f381bb42b528ad2126860309bd98f0803 1225.90 ms 1250.22 ms 24.33 ms
8e3a42f16ceb4fb58a8096f10cb83ecb76bcc9e2 1222.90 ms 1245.67 ms 22.77 ms
51f74d7f7217c4dd878ee94087f21336417b3598 1236.31 ms 1247.43 ms 11.12 ms

App size

Revision Plain With Sentry Diff
248195076dafba5bac1b3aa7668eacd5267886e2 23.74 KiB 872.74 KiB 849.00 KiB
a9fac2ee07f3f3fdfcfaa629a365dc234afa7678 23.75 KiB 879.53 KiB 855.78 KiB
99104c9cbeb272fbbfef2b32c54c0529a17d471f 23.75 KiB 894.83 KiB 871.09 KiB
7148f97e25599cdcfda4b0b8dec0329e155b90f1 23.75 KiB 854.78 KiB 831.03 KiB
62799929787f2fedf64bbf922cda9e40ff7232b1 23.75 KiB 891.03 KiB 867.28 KiB
aa96485c2c8bc1d7a75c5b779d1f0605948be3cf 23.75 KiB 874.46 KiB 850.71 KiB
fc0757dafef9fca8b8101395728bae8800c6a65a 23.75 KiB 850.73 KiB 826.98 KiB
7c7ac56f381bb42b528ad2126860309bd98f0803 23.75 KiB 902.49 KiB 878.74 KiB
8e3a42f16ceb4fb58a8096f10cb83ecb76bcc9e2 23.75 KiB 880.06 KiB 856.31 KiB
51f74d7f7217c4dd878ee94087f21336417b3598 23.74 KiB 874.08 KiB 850.34 KiB

github-actions[bot] avatar Jun 08 '25 21:06 github-actions[bot]

Current status here is that almost all integration projects are able to compile and link, except for the carthage projects targeting a platform other than iOS. I'm debugging the carthage executable to see what's up with it: it unzips the xcframeworks zip and then only retains the iOS slices, which are not the correct ones.

They work locally, just iterating on getting them working on CI.

armcknight avatar Jun 09 '25 20:06 armcknight

Current status: all the tests pass except the Carthage non-iOS jobs, because somehow the xcframework that winds up in the Carthage/Build directory always only contains iOS images. Looking into how we build the xcframework, what gets uploaded/downloaded by the actions jobs for those, [un]zipping and the Carthage binary itself.

armcknight avatar Jun 13 '25 15:06 armcknight