Skip to content

ci: move iOS sample-app build to macos-26 and drop simulator-runtime download - #627

Open
mahmoud-elmorabea wants to merge 2 commits into
mainfrom
ci/macos-26
Open

ci: move iOS sample-app build to macos-26 and drop simulator-runtime download#627
mahmoud-elmorabea wants to merge 2 commits into
mainfrom
ci/macos-26

Conversation

@mahmoud-elmorabea

@mahmoud-elmorabea mahmoud-elmorabea commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Blocked on mobile-ci-tools#13. This PR pins setup-ios to the transitional macos-26 branch, which is deleted once the action lands on main. Before merging, the ref must be flipped to @main — otherwise main here ends up depending on a branch scheduled for deletion, and every iOS job breaks at delete time rather than at merge time.

MBL-2224: Migrate iOS CI to macos-26 + Xcode 26.6, and stop downloading simulator runtimes we already have


Our iOS jobs spend roughly 157 minutes of macOS runner time a week downloading a simulator runtime that is not on the image, is not needed, and is never used — these jobs produce device archives and touch no simulator at all.

Moves the macOS runner from 15 to 26 and repins the shared iOS setup to a version that does not perform that download.

🤖 Generated with Claude Code


Note

Low Risk
Runner and action pin changes only; npm deploy logic is unchanged and should be more reliable on Linux for Node/npm steps.

Overview
iOS sample app CI now runs on macos-26 instead of macos-15, and the shared setup-ios action is repinned to @macos-26 (replacing @MacOS-15+iOS-26) so setup aligns with the new runner image and avoids unnecessary simulator runtime downloads for device-only archive builds.

The deploy-cocoapods job in deploy-npm.yml is moved from macos-15 to ubuntu-latest, with comments noting the steps are checkout, npm ci, and npm publish only—no CocoaPods work—so it no longer consumes scarce macOS runners. The job id is unchanged to preserve the GitHub check name.

Reviewed by Cursor Bugbot for commit 32bcc57. Bugbot is set up for automated code reviews on this repo. Configure here.

Repins setup-ios to the macos-26 branch, which has no
`xcodebuild -downloadPlatform iOS` step. That step was fetching iOS 26.3.1
on every run — a runtime not on the macos-15 image and never used by these
jobs, at a measured median of 190s per invocation (~157 min/week here).

The runner bump is required in the same commit: this call site passes no
xcode-version, so it now picks up the action's new 26.6 default, and 26.6
is not installed on macos-15.

deploy-npm.yml moves off macos-15 as well; it does not use setup-ios.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Sample app builds 📱

Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.


  • Android APN: 627.2.0 (29765551)
  • iOS APN: 627.2.0 (29765551)

@mahmoud-elmorabea
mahmoud-elmorabea marked this pull request as ready for review August 5, 2026 11:25
@mahmoud-elmorabea
mahmoud-elmorabea requested a review from a team as a code owner August 5, 2026 11:25
This job is named deploy-cocoapods but never invokes pod: it checks out, runs
npm ci, and publishes to npm. Bumping it to macos-26 along with the real iOS
jobs kept a Node publish on the org-capped macOS pool, which is the opposite of
what this migration is for.

Job id is left as-is deliberately; renaming it would change the check name.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@Shahroz16 Shahroz16 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as others, Think the plan is to when customerio/mobile-ci-tools#13 merges, we replace all three temporary setup-ios@macos-26 references with setup-ios@main and rerun the affected macOS jobs before merging.?

Sign up for free to 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