Skip to content

Run iOS RNTester E2E tests on Apple Silicon runners - #59642

Open
cipolleschi wants to merge 1 commit into
cipolleschi/e2e-ios-7-artifact-gatefrom
cipolleschi/e2e-ios-8-apple-silicon
Open

cipolleschi wants to merge 1 commit into
cipolleschi/e2e-ios-7-artifact-gatefrom
cipolleschi/e2e-ios-8-apple-silicon

Conversation

@cipolleschi

@cipolleschi cipolleschi commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Stack (iOS RNTester E2E cost, review bottom-up):

  1. Retry failing iOS E2E flows once and stop rerunning real failures #59635
  2. Cancel superseded Test All runs on pull requests #59636
  3. Run iOS E2E flows in a single Maestro invocation #59637
  4. Run the FlatList maintainVisibleContentPosition E2E flows in Release only on iOS #59638
  5. Deep-link into the FlatList maintainVisibleContentPosition example in E2E flows #59639
  6. Overlap simulator boot with the rest of the iOS E2E setup #59640
  7. Fail iOS RNTester E2E straight away when the app artifact is missing #59641
  8. Run iOS RNTester E2E tests on Apple Silicon runners #59642 ← this PR

Summary:

Part 8 of the iOS E2E cost stack.

The RNTester E2E jobs ran on macos-26-large, the Intel x86_64 runner. The simulator ran under x86_64 and rendered in software ("GL pipe is running in software mode" appears in all 24 job logs I checked), and the -large runners are billed at a premium.

Run them on the standard arm64 macos-26 runner instead. The simulator runs natively with GPU rendering, and standard GitHub-hosted runners aren't billed for public repositories. RNTesterApp-NewArch-{Debug,Release} are already universal (lipo shows x86_64 + arm64 for the app binary, hermesvm, React and ReactNativeDependencies), so the build job doesn't change.

If the 3-core standard runner is too slow, macos-26-xlarge (arm64, 5 cores) is the fallback. The template app E2E is unchanged.

Changelog:

[INTERNAL] [CHANGED] - Run iOS RNTester E2E tests on Apple Silicon runners

Test Plan:

  • Checked the architectures of the CI artifacts from run 40888922130 with lipo -info.
  • Ran the RNTester Release artifact locally on an arm64 iPhone 17 Pro simulator with Maestro 2.6.1 (see parts 1, 3 and 5).
  • CI on this PR runs the E2E jobs on macos-26; compare their duration with macos-26-large on main.

The E2E jobs ran on macos-26-large, the Intel x86_64 runner: the iOS
simulator ran under x86_64 and rendered in software ("GL pipe is running
in software mode" in every log), and the -large runners are billed at a
premium.

Run them on the standard arm64 macos-26 runner instead, where the
simulator runs natively with GPU rendering and which isn't billed for
public repositories. RNTesterApp-NewArch-{Debug,Release} are already
universal (x86_64 + arm64 for the app and all its frameworks), so the
build job doesn't need to change.

If the 3-core standard runner turns out to be too slow, macos-26-xlarge
(arm64, 5 cores) is the fallback.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant