ci(ios): add ensure-simulator-ready script for reliable boot/ready waits#18382
Conversation
Port boot-status polling from react-native-firebase CI: wait for simctl bootstatus after simulator-action (or simctl boot)
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
Description
I've just finished doing a large amount of e2e de-flaking in the related react-native-firebase repository, and Simulator boots were a large source of problems - I know FlutterFire has suffered from the same issues, and FutterFire appears to be on macOS 15 still, as that changes to macOS26 and Xcode 26 the problem intensifies
This is a port of the more robust boot-status polling from react-native-firebase CI: wait for simctl bootstatus after simulator-action (or simctl boot) - I've seen good results even on macOS 26 / Xcode 26.5 / iPhone 17 with this, where previously it was unusable.
Related Issues
Unknown if there are CI flake umbrella issues but this would apply
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]).This will ensure a smooth and quick review process. Updating the
pubspec.yamland changelogs is not required.///).melos run analyze) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?