runs-on: xcode-27: "Unable to find a device matching the provided destination specifier", the iOS 27.1 simulator with only iPhone Duo, and the Xcode versions on the image
GitHub's Xcode 27 runner image is generally available (GitHub changelog, October 15, 2026). It runs on macOS 27, and each image now follows one major Xcode version instead of a macOS version, with the labels xcode-27 and xcode-27-xlarge. It runs on Apple Silicon (arm64) only. The most common failure after moving to it is a test destination that does not exist: the default Xcode is 27.1, and its iOS 27.1 simulator runtime has only one device, iPhone Duo.
What it looks like
xcodebuild test stops before building the tests (runner-images #15000):
xcodebuild test -destination 'platform=iOS Simulator,name=iPhone 18 Pro,OS=27.1' ... xcodebuild: error: Unable to find a device matching the provided destination specifier
Listing the devices that the iOS 27.1 runtime supports shows why:
xcrun simctl list -j runtimes | jq '.runtimes[] | select(.version=="27.1") | [.supportedDeviceTypes[].name]' ["iPhone Duo"]
The same happens on a Mac outside CI with the same runtime, so it is how Apple ships iOS 27.1, not a fault of the image. A comment on the issue reads it as iOS 27.1 being for iPhone Duo only, with 27.2 to follow for all devices.
What the image has
From the image's readme (image version 20261026.0314.1):
- Xcode 27.2 at
/Applications/Xcode_27.2_Release_Candidate.app, also linked asXcode_27.2.app. - Xcode 27.1, the default, at
/Applications/Xcode_27.1.app, which/Applications/Xcode.apppoints to. - Xcode 27.0 at
/Applications/Xcode_27.app. - Simulators: iOS 27.0 with iPhone 17, iPhone 17e, iPhone 18 Pro, iPhone 18 Pro Max, iPhone Air and iPads; iOS 27.1 with iPhone Duo only; tvOS, watchOS and visionOS 27.0. The iOS 27.2 SDK is there, its simulator runtime is not in the list.
The list changes with each image version. Print what your job got:
xcodebuild -version xcrun simctl list devices available
Fix
- Test on a device the runtime has. For iPhone 18 Pro and the other models, name iOS 27.0 in the destination:
-destination 'platform=iOS Simulator,name=iPhone 18 Pro,OS=27.0'. Keep 27.1 for iPhone Duo. - To use another Xcode, select it before building:
- run: sudo xcode-select -s /Applications/Xcode_27.2.app
With Xcode 27.2, checkxcrun simctl list runtimesfirst; if no iOS 27.2 runtime is listed, the job has to download it (xcodebuild -downloadPlatform iOS, which takes minutes and network on every run) or use an older runtime. - Do not let the destination fall to "latest": write the OS version, so that a new runtime on the image does not change the device list under you.
actionlint and the new label
actionlint 1.7.12 does not know xcode-27 yet and reports it as an unknown runner label (sauna-studio/sauna-app #8). Until a release knows it, list it in .github/actionlint.yaml:
self-hosted-runner:
labels:
- xcode-27
- xcode-27-xlarge
Telling it apart
- "Unable to find a device matching the provided destination specifier" on
xcode-27: the device is not in that runtime, this page. - A first
xcrun simctlcall that takes minutes onmacos-15ormacos-26: the simulator runtimes are still being mounted (first simctl call slow); thexcode-27image does not have it. - A job on
macos-14that does not run: that image is retired (macOS 14 retired). - A job on an Intel label: the Xcode 27 image is not available on Intel runners.
See failed jobs from IntelliJ IDEA
Pipeline Inbox for GitHub Actions Workflows, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the runs of all your repositories in an IDE tool window, with their jobs and steps, so the step that could not find its simulator stands out, and your current branch's runs are in the status bar. Reading is free; re-running failed jobs, cancelling, running workflows and reviewing deployments are Pro (US$1.50 a month, with a 30-day trial).
Get it on JetBrains Marketplace
GitHub and GitHub Actions are trademarks of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o.; Apple, Xcode, iPhone and macOS are trademarks of Apple Inc. This page is not affiliated with, sponsored or endorsed by any of them.
More: macOS 14 retired · GitHub Actions plugins for IntelliJ IDEA compared · 日本語