Fix .bundle resources not included in Universal binary builds#68
Open
Fix .bundle resources not included in Universal binary builds#68
Conversation
When building Universal binaries, the collector was finding both the Universal binary from apple/Products/Release/ and single-arch binaries from arm64-apple-macosx/release/ and x86_64-apple-macosx/release/. This created redundant variants, and since .bundle resources only exist in the apple path, single-arch variants were missing resources. This fix filters out single-arch variants that are already covered by Universal binaries, ensuring only the Universal variant (with .bundle) is included in the artifact bundle. Changes: - Add filtering logic in collector.ts to exclude redundant single-arch variants when Universal binary exists - Update test to verify only Universal variant is created and .bundle is included 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace non-null assertion (!) with proper guard clause for macosPlatformDir to avoid TypeScript force unwrap. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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
.bundleresources were not included in artifact bundles when building Universal binariesswift build -c release --arch arm64 --arch x86_64, the collector was finding both the Universal binary and single-arch binaries, creating redundant variants.bundleresources only exist in theapple/Products/Release/path, single-arch variants were missing resourcesProblem
When building Universal binaries, Swift creates:
apple/Products/Release/executable(Universal binary) +.bundleresourcesarm64-apple-macosx/release/executable(intermediate, no.bundle)x86_64-apple-macosx/release/executable(intermediate, no.bundle)The collector was finding all three and creating separate variants, but only the Universal variant had
.bundleresources.Solution
Add filtering logic in
collector.tsto exclude single-arch variants when a Universal binary already covers those architectures. This ensures only the Universal variant (with.bundle) is included in the artifact bundle.Test plan
.bundleresources are included in Universal variant.bundleresources are correctly included🤖 Generated with Claude Code