From b45f28368fd2e779574eac22c913754a30794ba9 Mon Sep 17 00:00:00 2001 From: PJ Date: Sun, 16 Aug 2026 22:24:56 +0530 Subject: [PATCH] ci: keep IOS_DEVICE a device name, not the resolved udid the boot step exported the udid as IOS_DEVICE, and just ios spends that as xcodebuild's -destination name=, which matches the display name and rejected it: 'unable to find a device matching { name:6F69910C-... }'. nothing downstream needed it. install, launch and terminate all address booted, and sanderling resolves --ios-device against booted simulators first, so the simulator this step boots is the one they all get. --- .github/workflows/ci.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e22c78a..a53c627 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -271,9 +271,16 @@ jobs: # 26.4 and 26.5. Booting by name is therefore booting on whichever one # simctl happens to list first, and a seed only means something against a # fixed runtime. So the pair is resolved to a UDID here and every step - # after this is handed that. An image that stops carrying the pair fails - # here naming what it does carry, rather than as a `bootstatus` error to - # read backwards from. + # after this boots that one simulator. An image that stops carrying the + # pair fails here naming what it does carry, rather than as a + # `bootstatus` error to read backwards from. + # + # The UDID stays in this step. IOS_DEVICE has to keep holding the name, + # because `just ios` spends it as xcodebuild's `-destination name=`, which + # matches on the display name and rejects a UDID. Nothing downstream needs + # it anyway: the install, the launch and the terminate all address + # `booted`, and sanderling resolves --ios-device against booted simulators + # before available ones, so the one booted here is the one they all get. - name: Boot a simulator run: | udid="$(python3 <<'PY' @@ -306,7 +313,6 @@ jobs: echo "booting $IOS_DEVICE on $IOS_RUNTIME ($udid)" xcrun simctl boot "$udid" xcrun simctl bootstatus "$udid" -b - echo "IOS_DEVICE=$udid" >> "$GITHUB_ENV" - name: Build and install folio working-directory: examples/folio