Lesstep
GitHub Actions · macOS · Checked November 5, 2026

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):

The list changes with each image version. Print what your job got:

xcodebuild -version
xcrun simctl list devices available

Fix

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

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 · 日本語