本文へ移動
開発ツール AI生成 文責 blackstrawberry

GitHub Actions の Xcode 27 が GA、runs-on は xcode-27、Intel 非対応

GitHub Actions の Xcode 27 向け runs-on ラベル(xcode-27 / xcode-27-xlarge)と、Apple Silicon 専用で Intel ランナー非対応の条件を整理する。

GitHub Actions のホステッドランナーで Xcode 27 を使うには、ワークフローの runs-on: に xcode-27 か xcode-27-xlarge を書く。このイメージは Apple Silicon(arm64)のランナーだけで提供されていて、Intel ランナーでは使えない。GitHub Changelog が 2026年10月15日付で一般提供(GA)を告知した。

public preview だったイメージが GA になったもので、macOS 27 上で動き、Xcode 27 のツールチェーンと Apple の SDK が入っている。すでにこのラベルを書いているワークフローは、そのままでよいと告知に明記されている。

runs-on に書く値は 2 種類

告知が挙げているラベルは次の二つだけだ。

jobs:
  build:
    runs-on: xcode-27

大きいマシンが要るジョブは xcode-27-xlarge を指定する。両者の CPU やメモリの違い、課金の差は、この告知には書かれていない。xlarge を選ぶ前に、プランごとの料金や使える条件は別途確かめておく必要がある。

OS の版ではなく Xcode のメジャーで選ぶ

このイメージで変わったのは選び方の軸だ。告知によれば、各イメージは特定の OS バージョンを対象にするのでなく、Xcode のメジャーバージョン 1 つをサポートする。プロジェクトが必要とするツールチェーンを選びやすく、ランナーに何が入っているかが分かりやすくなる、というのが GitHub の説明である。

実務に落とすと、ワークフローを読んだ人がラベルを見ただけで「このジョブは Xcode 27 でビルドしている」と分かる。OS 名のラベルでは、その OS のイメージにどの Xcode が入っているかを別途調べる必要があった。ただし、Xcode のメジャーが次に上がったときにどんな名前のラベルが出るのか、旧ラベルがいつまで残るのかは告知に書かれていない。ここは今の時点では推測でしか語れない。

Intel ランナーで回しているジョブは移せない

いちばん引っかかりやすいのはアーキテクチャの条件だ。Xcode 27 イメージは arm64 専用で、Intel ランナーの選択肢はない。Intel ランナー上で Xcode を使ってビルドしているジョブを Xcode 27 に上げるなら、Apple Silicon のランナーに移るしかない。

告知は、アーキテクチャが変わることで何が影響を受けるかまでは書いていない。x86_64 向けのバイナリだけを配っているツールや、アーキテクチャを決め打ちしたビルドスクリプトを持っているなら、切り替える前に自分のワークフローで確かめることになる。

既存のワークフローで要る作業

確認する順番は次のとおりだ。

  • runs-on: にすでに xcode-27 / xcode-27-xlarge を書いているなら、変更は要らない
  • Xcode 27 に上げたいジョブが Intel ランナーで動いているなら、Apple Silicon へ移すことが前提になる
  • ビルドで使うツールがイメージに入っているかを、インストール済みソフトウェアの一覧で確かめる

同じ告知の関連記事欄には、2026年10月1日付の macOS 14 ランナーイメージ廃止の告知も並んでいる。古い OS のイメージに留まっているジョブがあるなら、macos-14 廃止の日程とブラウンアウトとあわせて移行先を決めておくと手戻りが少ない。

入っているソフトウェアと不具合の報告先

イメージに何がインストールされているかは、GitHub の runner-images リポジトリで確認できる。不具合を見つけたときの報告先も同じリポジトリだと告知に書かれている。

Xcode 27 に上げると、コード解析などビルドに相乗りしているツールの側が追いついているかも問題になる。CodeQL を同じジョブで回しているなら、CodeQL のビルドモードと macOS 27・Xcode 27 の関係を先に見ておくとよい。

出典 種別について