Lesstep
GitHub Actions・2026年11月3日に確認

GitHub Actions:「The ubuntu-latest label will migrate to Ubuntu 26」

GitHub は ubuntu-latest のラベルを Ubuntu 24.04 から Ubuntu 26.04 へ移しています。ubuntu-latest を指定したジョブには、すべて注釈にこの知らせが付きます(「ubuntu-latest のラベルは2026年10月19日から Ubuntu 26 に移る」):

The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748

知らせそのものは何もしません。大事なのは、移行がもう始まっていることです。10月19日から数週間かけて少しずつ切り替わり、2026年11月19日に終わる予定です(runner-images #14748)。それまでは、同じワークフローでも、あるジョブは24.04、次のジョブは26.04 に当たることがあり、その issue のコメントには、リポジトリを何も変えていないのに、ジョブが26.04 に当たってから落ち始めたビルドの話が出ています。対象は x64 のラベルで、ubuntu-24.04-arm と ubuntu-slim は影響を受けるイメージの一覧に入っていません。

ジョブがどちらのイメージだったか

ジョブの「Set up job」のステップを開きます。Runner Image のまとまりに名前が出ます:

Runner Image
  Image: ubuntu-24.04
  Version: 20261025.353.1

新しいイメージでは ubuntu-26.04 と出て、その上の Operating System のまとまりも26.04 になります。ほかを疑う前に、失敗したジョブと最後に通ったジョブでここを比べてください。再実行は別のイメージに当たることがあるので、11月19日までは、再実行で通っても何の証明にもなりません。

壊れるもの

Java:既定が25になり、JDK 8 が無い

イメージのツールの一覧では、26.04 の既定の JDK は25(24.04 では17)で、入っているのは11・17・21・25、8 はありません(11月3日の actions/runner-images の toolset-2604.json)。告知の表はまだ17のままですが、イメージ自身の文書は25です。Gradle が Java 25 の上で動くのは 9.1.0 からなので(Gradle の互換の表)、JDK を選ばずに Gradle 8 以前を動かすジョブは、ビルドスクリプトのコンパイル中に次のようなエラーで落ちます:

Unsupported class file major version 69

プロジェクトの Android の Gradle ラッパーを動かす flutter build apk も同じです。JDK を自分で選ぶか、ラッパーを Gradle 9.1 以降に上げてください:

- uses: actions/setup-java@v6
  with:
    distribution: temurin
    java-version: '17'

17 は26.04 にもまだ入っているので、1ステップでも足ります:echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV"。26.04 では JAVA_HOME_8_X64 はありません。

Python:3.8 と 3.9 が無く、新しいパッチ版だけ

actions/setup-python は、ランナーの Ubuntu の版ちょうどに向けて作ったビルドをダウンロードします。11月3日のビルドの一覧には、26.04 向けの3.8 と3.9 が無く、ほかも新しいパッチ版だけでした:3.10.20〜3.10.22・3.11.15〜3.11.18・3.12.13〜3.12.16・3.13.13〜3.13.18・3.14.6〜3.14.10(actions/python-versions の versions-manifest.json)。3.12.4 のような古い固定や、それを書いた .python-version は、次のようなメッセージでセットアップの段で落ちます:

The version '3.9' with architecture 'x64' was not found for ubuntu 26.04.

マイナー版("3.12")で指定するか、古い版は24.04 に残します:

strategy:
  matrix:
    python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
    os: [ubuntu-latest]
    include:
      - python-version: "3.9"
        os: ubuntu-24.04
runs-on: ${{ matrix.os }}

ほかに報告されている変化

どうするか

Azure Pipelines

告知は Azure DevOps も対象に挙げていて、vmImage: ubuntu-latest が同じように移ります。10月26日のコメントは、Microsoft のホストのエージェントのページがまだ ubuntu-latest を24.04 としていると指摘していましたが、11月2日には、vmImage を書いていないパイプラインが26.04 で動き、権限のエラーで落ちました(runner-images #14748 のコメント)。26.04 ではエージェントのユーザーが vsts から runner に変わり、そのホームディレクトリの下のパスも変わります(runner-images #15028)。vmImage: ubuntu-24.04 なら古いイメージのままです。

どのジョブが落ちたかを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、移行の途中で落ち始めたジョブが、通ったジョブの横で目立ちます。いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標、Ubuntu は Canonical Ltd. の商標です。このページは GitHub, Inc.・JetBrains・Canonical のいずれとも提携しておらず、承認も受けていません。

ほかに:ホストランナーの「No space left on device」 · 「Node.js 20 is deprecated」の警告 · macOS 14 のイメージの終わり · デバッグログ付きでジョブを再実行する · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English