[LOCAL] Fix CI for RC.2#57614
Merged
Merged
Conversation
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
Fixes the failing iOS and Android CI on
0.87-stable. Two independent root causes:iOS —
test_ios_rntester(all variants) failing atpod installThe
Release 0.87.0-rc.1bump changedpackage.json(and thus the versions derived byReactNativeDependencies.podspec/React-Core), and the later iOS "dependency-only facades" refactor (#57440) changed the pod graph — butpackages/rn-tester/Podfile.lockwas never regenerated (still pinned to0.87.0-rc.0with the old structure). CI'spod update hermes-engine --no-repo-updatethen hits an unresolvablerc.0-vs-rc.1conflict onReactNativeDependencies.The
bump-podfile-lockworkflow can't self-heal this: it runs a plain Mavenpod install, but the Mavenrc.1React-Core artifact predates theReactNativeHeaders.xcframeworklayout that current branch HEAD expects, so that install fails. (This does not affect real npm consumers of0.87.0-rc.1— their npm code and Maven artifacts match.)Fix: regenerated
Podfile.lockat HEAD using the fresh, HEAD-matching prebuilts that CI actually consumes (viaRCT_TESTONLY_RNCORE_TARBALL_PATH/RCT_USE_LOCAL_RN_DEP), keeping the prebuilds path. The regenerated lock has no machine-local paths and 0rc.0references.Verified locally: after this change, the exact CI step
pod update hermes-engine --no-repo-updatesucceeds (it reproduced the failure beforehand).Android —
build_androidfailing atReactAndroid:lintVitalAnalyzeReleaseAn internal Android lint K2 UAST analyzer crash (
resolveSyntheticJavaPropertyAccessorCall) while analyzingSynchronousMountItem.kt. Code, lint config, and AGP 9.2.1 / Kotlin 2.2.0 toolchain are identical tomain(which passes this task fresh), so it's a nondeterministic toolchain bug;abortOnError = falsedoes not suppress an analyzer crash.Fix: rewrote
toString()as an early return instead of assigning anif-expression to a localval, removing the exact AST shape from the crash stack (KotlinULocalVariable+if-expression initializer). Output is unchanged.Test plan
cd packages/rn-tester && bundle exec pod update hermes-engine --no-repo-updatesucceeds with the fresh prebuilts (as CI does).build_android/ReactAndroid:lintVitalAnalyzeReleaseshould complete (verified by CI — the local Gradle daemon was unavailable on the dev machine).