Skip to content

ci: unbreak the iOS and Android test-app builds [FEPLAT-5048] - #53

Merged
dan-phantom merged 1 commit into
masterfrom
dan/feplat-5048-fix-fork-ci
Aug 12, 2026
Merged

ci: unbreak the iOS and Android test-app builds [FEPLAT-5048]#53
dan-phantom merged 1 commit into
masterfrom
dan/feplat-5048-fix-fork-ci

Conversation

@dan-phantom

@dan-phantomdan-phantom commented Aug 12, 2026

Copy link
Copy Markdown

Both jobs fail on master today, so every pull request opens with red checks and a real regression would not stand out. PR #52 is the case in point: four red Android checks and two red iOS checks, none of them caused by that diff.

  • iOS: the build step resolved the simulator UDID for a hardcoded iPhone 16 and exited 1 when the grep found nothing, which is what happens now that the runner image dropped that device. The job only builds and never boots the app, so it takes -destination 'generic/platform=iOS Simulator' and stops depending on the image's simulator list.
  • Android: JetifyTransform ran out of heap on hermes-android-0.73.5-debug.aar. Jetifier rewrites every class of every AAR, and React Native 0.73 and its dependencies are AndroidX already, so the conversion is now off. Heap also goes 2g to 4g, because one OOM cancels the whole four-job matrix.

The checks on this PR are the verification: a dependency that genuinely still needed jetifier would fail here with unresolved android.support.* classes, and the fallback would be to keep enableJetifier=true and rely on the larger heap alone.

Two follow-ups deliberately left out: gradle/gradle-build-action@v2 is deprecated in favour of actions/setup-gradle, and #51 pins action SHAs across every workflow, so it will touch ios-ci.yml too.

Summary by CodeRabbit

  • Chores
    • Improved iOS CI builds by using a generic simulator destination instead of requiring a specific simulator model.
    • Increased available memory for Android build processes to improve build reliability.
    • Updated Android compatibility settings and added a fallback check for legacy support requirements.

Both jobs fail on master today, so every pull request opens with red checks and
a real regression would not stand out.
- **iOS**: the build step resolved the simulator UDID for a hardcoded
`iPhone 16` and exited 1 when the grep found nothing, which is what happens
now that the runner image dropped that device. The job only builds and never
boots the app, so it takes `-destination 'generic/platform=iOS Simulator'`
and stops depending on the image's simulator list.
- **Android**: `JetifyTransform` ran out of heap on
`hermes-android-0.73.5-debug.aar`. Jetifier rewrites every class of every
AAR, and React Native 0.73 and its dependencies are AndroidX already, so the
conversion is off. Heap also goes 2g to 4g, since the same job passed on
16 GB runners until recently and one OOM cancels the whole matrix.
@coderabbitai

coderabbitaiBot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 246f92ab-6d52-439e-b482-fcf3efac81bb

📥 Commits

Reviewing files that changed from the base of the PR and between 4b99048 and 22694b7.

📒 Files selected for processing (2)
  • .github/workflows/ios-ci.yml
  • example/android/gradle.properties

📝 Walkthrough

Walkthrough

The iOS CI workflow now uses a generic simulator destination. The example Android project increases the Gradle heap limit and disables Jetifier with explanatory comments.

Changes

iOS CI configuration

Layer / File(s)Summary
Generic iOS Simulator target
.github/workflows/ios-ci.yml
The workflow removes device-specific simulator discovery and targets the generic iOS Simulator platform.

Android build configuration

Layer / File(s)Summary
Gradle and Jetifier settings
example/android/gradle.properties
The Gradle heap limit increases from 2 GB to 4 GB. Jetifier is disabled, and comments document the AndroidX context and checkJetifier fallback.

Suggested reviewers:jamonholmgren, titozzz

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: restoring the iOS and Android test-app builds in CI.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dan/feplat-5048-fix-fork-ci

Comment @coderabbitai help to get the list of available commands.

@dan-phantom
dan-phantom merged commit a792e7a into masterAug 12, 2026
12 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dan-phantom@ilan-phantom