GitHub Actions:macOS 14 のランナーイメージが廃止
GitHub は OS ごとに安定版の新しい2つだけを保ち、その前のものを廃止します。macOS 14 のイメージは2026年11月2日に廃止で、ラベル macos-14・macos-14-large・macos-14-xlarge が対象です(GitHub の告知、runner-images #13518)。まだこのラベルを使うワークフローは移す必要があり、移ると既定の Xcode も変わります。
ブラウンアウトのメッセージ
廃止の前に、GitHub はわざとジョブを止める期間(ブラウンアウト)を10回置きました。10月5日・12日・16日・19日・23日・26日・29日・30日・31日と11月1日の、UTC の14時から0時まで(日本時間では23時から翌朝9時)です。告知が挙げるのは最初の8回で、issue が10月31日と11月1日を足しています。そのあいだ、ジョブは作られたその秒に Cancelled で終わり、ランナーもステップも無く、メッセージはこうでした(予定されたブラウンアウトで失敗した、macOS 14 は11月2日に廃止される、という内容):
This job failed because of a scheduled macOS 14 runner image brownout. macOS 14 runner images will be retired on November 2, 2026. For migration options and the brownout schedule, see https://github.com/actions/runner-images/issues/13518
11月1日の夜(UTC)にキャンセルされた実行は、廃止ではなくブラウンアウトです。同じ実行のほかのジョブは成功できるので、リリースのワークフローが macOS の成果物だけ欠けたまま公開してしまうことがあります。
11月2日にもジョブは動いた
日付で一斉に切り替わるわけではありません。11月2日にも、公開リポジトリの macos-14 の実行は UTC の2時15分・11時47分・12時26分にランナーを得ていて、イメージは macos-14-arm64 の版 20260831.0302.1 でした。いま動いていても、いつ止まってもおかしくありません。GitHub は廃止の前に macOS 14 の容量を減らすかもしれないとも書いていて、そのぶん待ちが長くなります。
ラベルが応えなくなったら
このラベルのワークフローは「エラーで終了する」と runner-images #13518 は書いています。前に古いイメージ(ubuntu-18.04・macOS 11)が無くなったときは、ジョブが1日ランナーを待ってから、次のメッセージ(有効なランナーが1日を超えてオンラインに無かったので自動で失敗にした、という意味)と、イメージが非推奨だという一文で失敗しました(rogchap/v8go #399、maticzav/nookies #592 に引用があります):
This request was automatically failed because there were no enabled runners online to process the request for more than 1 days.
それまでのあいだ、ジョブは「Waiting for a runner to pick up this job」のままです(ジョブが待つほかの理由)。キャンセルしても解決はせず、ラベルを変えるしかありません。
移る先のラベル
issue のとおり:
macos-14:macos-latest・macos-15・macos-26macos-14-large(Intel):macos-latest-large・macos-15-largemacos-14-xlarge:macos-latest-xlarge・macos-15-xlarge・macos-26-xlarge
macos-latest はいま macOS 26 で、次のイメージにひとりでに移ります。macos-15 のように番号の付いたラベルは、そのイメージが廃止されるまで変わらないので、次の引っ越しを自分の都合で決められます。
移ると変わること
- Xcode:macOS 14 のイメージには Xcode 15.0.1〜16.2 があり、既定は 15.4 です。macOS 15 のイメージは Xcode 16.0〜26.3 で、既定は 16.4、Xcode 15 は入っていません(runner-images の各イメージの説明)。
Xcode_15.4.appを選ぶステップや、Xcode 15 のマトリックスはmacos-15で失敗します。 - 作るものの最低の macOS:Homebrew の bottle には作った macOS の印が付き(
arm64_sonomaでなくarm64_sequoia)、その版より新しい macOS にしか入りません。ランナーの macOS 向けに作ったライブラリを同梱するビルドも、同じように最低が上がります。MACOSX_DEPLOYMENT_TARGETが効くツールなら、14.0 にすれば元の最低を保てます。 - ラベルの隠れ場所:
runs-on:の行だけとは限りません。マトリックスの一覧(os: [ubuntu-latest, macos-14])、matrix.os == 'macos-14'のような条件、再利用するワークフロー、マトリックスを作るファイルも見てください。
リポジトリの中を全部探すには:
grep -rnE "macos-14(-large|-xlarge)?" .github/
組織全体なら GitHub のコード検索で org:YOUR-ORG path:.github/workflows "macos-14"。Azure Pipelines も対象で、runner-images #13518 は影響する先に Azure DevOps を挙げています。
IntelliJ IDEA から失敗・順番待ちの実行を見るなら
Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、ほかが動いたのに失敗した、または待ったままの macOS のジョブがひと目でわかり、いまのブランチの実行はステータスバーに出ます。読むのは無料、再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。
GitHub と GitHub Actions は GitHub, Inc. の商標、macOS と Xcode は Apple Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Apple Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:「Waiting for a runner to pick up this job」 · 止まらない実行をキャンセルする · デバッグログ付きでジョブを再実行する · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English