From 05aea7be800e154ce32a54ccba42ee856163af0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikl=C3=B3s=20Fazekas?= Date: Fri, 26 Jun 2026 14:41:49 +0200 Subject: [PATCH] ci(ios): pin iOS jobs to macos-15 to stabilize simulator boot macos-latest is mid-migration to macOS 26. Jobs randomly land on macos-15-arm64 or macos-26-arm64, and only the macOS 15 image has a pre-created iPhone 16 Pro on an iOS >=26 runtime. When a job lands on macos-26 the simulator-action boot step fails with 'No devices found', which is why the same commit passes on one run and fails on another. Pin build-ios and test-harness-ios to macos-15 for deterministic runs. --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75c2faa7..1000828f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -140,7 +140,9 @@ jobs: yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" build-ios: - runs-on: macos-latest + # Pinned: macos-latest is mid-migration to macOS 26, whose simulator set + # has no iPhone 16 Pro on an iOS >=26 runtime, breaking the harness boot. + runs-on: macos-15 env: XCODE_VERSION: 26.3 TURBO_CACHE_DIR: .turbo/ios @@ -208,7 +210,9 @@ jobs: yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" test-harness-ios: - runs-on: macos-latest + # Pinned to macos-15 — see build-ios. macos-26 runners lack a matching + # iPhone 16 Pro / iOS >=26 simulator, so the boot step fails intermittently. + runs-on: macos-15 timeout-minutes: 60 env: XCODE_VERSION: 26.3