Repository navigation
Conversation
This branch has not been deployed
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:
Addresses the React Dependencies and Core framework symlink corruption reported in #55540.
Mac Catalyst frameworks use a versioned bundle layout (as macOS): the framework binary and
Resourcespoint intoVersions/Current, which points to the actual version directory. These symlinks must survive packaging. Although the local build scripts (including local-generated.tar.gz) work correctly, all the maven publishing have broken Mac Catalyst slice.Now, both iOS prebuild workflows upload raw
Build/Productsdirectories. GH's artifact ZIP writer explicitly resolves symlinks withrealpath()and stores their targets as ordinary files. (See implementation) So, the final.tar.gzarchives faithfully package that already-damaged layout, and Maven publishes those archives.The problem predates the reported 0.84: published dependency archives inspected from 0.79.2, 0.83.0, 0.84.0, and 0.88.1 all lack Catalyst symlinks. The inspected 0.88.1 React Core archive has the same problem.
Hermes already protects this handoff with a “Compress slices to preserve Symlinks” step. This PR follows the archive-before-upload approach to React Native's workflows.
Changes in
prebuild-ios-core.ymlandprebuild-ios-dependencies.yml:Resources, andVersions/Currentsymlinks before final packaging.Changelog:
[IOS] [FIXED] - Preserve Mac Catalyst framework symlinks in published React Native prebuild artifacts.
Test Plan:
(Update) Prebuilt frameworks test passed, and have correct symlinks
React Dependencies: Debug, Release
React Core: Debug, Release
Composed XCFramework: Debug, Release