fix(prebuild): derive Apple header slices from binary platforms - #3102
Closed
Saad Najmi (Saadnajmi) wants to merge 24 commits into
Closed
Saad Najmi (Saadnajmi) wants to merge 24 commits into
Saad Najmi (Saadnajmi) wants to merge 24 commits into
Conversation
Combine upstream stable API, Metro, CocoaPods facade, header framework, SwiftPM, and release-testing changes with the macOS fork workspace identities and platform support. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fold the upstream setup-env alias into the macOS moduleNameMapper so the later fork mapping does not override it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Normalize pnpm workspace paths emitted by API Extractor back to public package specifiers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Regenerate the strict TypeScript API snapshot with Node 22 after the stable API changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Treat an empty repository URL as no remote match so status checks use origin instead of an invalid root-relative ref. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Seed the two public macOS artifacts at rc.0 in Changesets prerelease mode so the patch changeset materializes exactly 0.87.0-rc.1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refresh the Yarn 4.12 lock after seeding the 0.87 release-candidate package versions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pin the upstream React Native peer and published workspace dependencies while leaving private workspace versions unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use fs.cpSync for the headers sidecar so paths are not shell-expanded and Flow sees the declared API. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Map react-native imports to the fork workspace under strict bundler resolution and keep the API transform Flow-clean. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refresh Babel Unicode transforms and rc.0 release-seed codegen podspec snapshots. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Record the constrained release dependencies and explicit plist runtime dependency. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fallback from third-party-podspecs to the react-native package root when Node resolution is unavailable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Generate core and dependency facades for every supported Apple platform instead of hardcoding iOS. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Regenerate the source-mode RNTester lock with Bundler 2.4.12 and CocoaPods 1.14.2 after seeding rc.0 metadata. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Return a nonzero status when either Apple prebuild CLI rejects a platform name. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Model fork dispatch precedence, physical platform implementations, SDK AppKit, and packaged sibling imports; shrink six resolved baseline entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply the repository import order required by the final lint gate. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rebuild the lock from the d8 Berry baseline with the final 0.87 manifests using a targeted Yarn install. This retains the stable-mandated Metro 0.87, ob1, Hermes compiler 0.15, plist, prerelease peer, workspace, and React alignment closure while removing 122 opportunistic resolution rows. The two independent generation runs were byte-identical. Because Metro and ob1 had not yet crossed the configured seven-day threshold, generation used the approved process-local YARN_NPM_MINIMAL_AGE_GATE=0 override for those commands only; four normal 7d immutable consumers then passed with no override and npmMinimalAgeGate remained 7d. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The broad age-zero lock regeneration at 43fd selected the @babel 7.29.7 cohort and Unicode 16 data, corrupting generated transform fixture expectations. The corrected conservative lock emits the canonical output from immediate pre-corruption stable tree 650a8a41, while retaining the rc-seed codegen podspec snapshot. These 14 generated Babel output fixtures were reproduced byte-identically in two fresh focused update runs and match 650a8a41 exactly. No source, input, codegen snapshot, or yarn.lock bytes change. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Sep 22, 2026
Saad Najmi (Saadnajmi)
force-pushed
the
review/0.87-hermes-tests
branch
from
September 22, 2026 18:06
cffd120 to
1599a89
Compare
This was referenced Sep 22, 2026
Collaborator
Author
|
Superseded by #3105 in the independently reviewed linear 0.87 stack tracked by #3098. The implementation is already present there, making this checkpoint an empty diff after re-stacking. Closing this duplicate review without merging or deleting its branch. The topology-only final release tree remains byte-identical to the original candidate; reviewed CI repairs are tracked separately. |
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
Derive header slices from actual binary platforms, with regression coverage. Eight-file comparison following Hermes URL tests. Header inventory follows.
Release stack
review/0.87-hermes-testsatcffd1207f2e1aa8e8d7c3110e8a2e1d12e97e422.3714488a692c2b315ef2b81518798a8aacdf8a2d.Review mirrors are comparison anchors, not evidence of prerequisite approval. Retarget as predecessors land; keep stable sync on the release path.
Validation
Local final-candidate evidence includes clean consumers, API/type checks, and scoped native artifact checks. Those results retain their recorded source-tree scope and do not establish full test coverage at this intermediate head. Fresh CI and review are required. Known CI repairs are being prepared separately.
PR merges and npm publication remain owner-controlled.