ci(shorebird): use framework.zip as macos-framework src (xcframework, not single-arch)#151
Merged
eseidel merged 1 commit intoshorebird/devfrom May 8, 2026
Merged
Conversation
… not single-arch) create_macos_framework.py with --zip produces two outputs in dst/: - FlutterMacOS.framework.zip — single-arch, double-zipped framework (~17 MB) - framework.zip — the xcframework (both arm64 + x64) plus codesign config files (entitlements.txt, without_entitlements.txt, unsigned_binaries.txt) (~122 MB) Legacy mac_upload.sh uploads framework.zip (the xcframework). Compose was uploading the single-arch FlutterMacOS.framework.zip and renaming it to framework.zip in the bucket via the dst path — same name on disk, completely different bytes. Verified by bucket-comparing engine 93865d6 (sharded, post-#150) against legacy 25c9b21 at the same darwin-x64-release/framework.zip path: 17,237,143 bytes vs 121,918,469 bytes. After this lands, the sharded artifact at that path should be the xcframework matching legacy in size and contents.
bdero
approved these changes
May 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #150. That PR fixed the
dstpath so the macOS framework lands atdarwin-x64-release/framework.zip(matching legacy). But thesrcwas still wrong: we were uploading the single-archFlutterMacOS.framework.zipand renaming it on the way up — same dst name, completely different bytes.create_macos_framework.py --zipproduces two zips indst/:FlutterMacOS.framework.zip— single-arch, double-zipped framework (~17 MB)framework.zip— the xcframework (arm64 + x64) plus codesign config files (entitlements.txt,without_entitlements.txt,unsigned_binaries.txt) (~122 MB)Legacy
mac_upload.shuploads the second one. This PR points compose at it.Evidence
Bucket compare at
darwin-x64-release/framework.zip:The dSYM is unaffected — different src, different dst, sharded matches legacy within 0.01% already.
Test plan
gs://shorebird-build-testdarwin-x64-release/framework.zipis now ~122 MB and contains the xcframework structure