GitHub Actionsのubuntu-latestがUbuntu 26.04へ移行|10月19日前のテストと一時固定

GitHub Actionsのx64 ubuntu-latestが2026年10月19日から11月19日にUbuntu26.04へ段階移行予定。26.04で事前テストし、未対応なら24.04へ一時固定する案内。

GitHub ActionsのGitHub-hosted runnerでx64版のubuntu-latestを使っているなら、2026年10月19日の移行開始前にubuntu-26.04を明示したテストを行ってください。まだ準備できないワークフローは、ubuntu-24.04へ一時固定する方法があります。ただし固定は恒久対策にせず、解除予定日と担当者を管理することが重要です。

GitHubはUbuntu 26.04のGitHub-hosted runnerを一般提供し、x64版のubuntu-latestをUbuntu 24.04から26.04へ段階移行すると発表しました。基準日の2026年10月4日時点では移行前であり、完了済みではありません。プリインストール済みツールやシステムライブラリの差によってCIが壊れる可能性があるため、本番デプロイを伴わないブランチや検証用ワークフローで先に確認します。

目次

Ubuntu 26.04への移行日程と対象

項目内容
Ubuntu 26.04 runner2026年9月17日にx64・arm64で一般提供
x64のubuntu-latest2026年10月19日から11月19日に、24.04から26.04へ段階移行予定
26.04を明示してテストx64はubuntu-26.04、Arm64はubuntu-26.04-arm
準備未完了時の一時固定x64はubuntu-24.04

日程とラベルはGitHubの公式Changelogで案内されています。段階移行の予定は変更される可能性があるため、runner-imagesの公式告知Issueも確認してください。

ubuntu-latestは固定バージョンではない

ubuntu-latestは、Ubuntu提供元が公開した最新OSを常に指す名前ではなく、GitHubが提供する最新の安定runnerイメージを指します。GitHubのGitHub-hosted runnersリファレンスでも、-latestがOSベンダーの最新バージョンと一致するとは限らないと説明されています。

今回の段階移行中は、ubuntu-latestを指定した実行回やジョブで24.04と26.04が切り替わり得ます。ジョブログの「Set up job」を開き、実際に使われたイメージ情報と「Included Software」へのリンクを確認してください。

なお、ubuntu-24.04のようにOSラベルを固定しても、イメージ内のツールまで永久に同じになるわけではありません。GitHub-hosted runnerのイメージは継続的に更新されます。収録ツールと変更内容はactions/runner-imagesのREADME、イメージ別ツール一覧、リリースを基準に確認します。

移行で変わり得る箇所

OSが24.04から26.04へ変わると、プリインストールされたツール、パッケージ、システムライブラリ、コンパイラ、既成バイナリの互換性が影響を受ける場合があります。GitHubは一部ツールの更新や削除により、特定バージョンへ暗黙に依存するワークフローが壊れる可能性を案内しています。

アプリケーション用のNode.jsやPythonは、runnerに偶然入っている版へ依存するのではなく、actions/setup-nodeやactions/setup-pythonなど、利用するsetup Actionの現行READMEに従って明示します。OSラベルの指定と、アプリが使うランタイムの指定は別の管理項目です。

runs-onを確認してubuntu-26.04でブランチテストする判断フロー。正常なら26.04へ移行し、修正が必要ならubuntu-24.04へ一時固定して担当者と再テスト日、解除日を管理する。
検証結果をもとに移行か一時固定を判断します。OSラベルの固定はツール更新まで止めるものではありません。 図をクリック・タップして拡大

10月19日前に行う移行テスト

  1. すべてのruns-onを列挙する:.github/workflows内だけでなく、再利用可能ワークフロー、matrix、別リポジトリから呼び出すワークフローも確認します。ubuntu-latestを使うジョブと、本番デプロイを含むジョブを分けて把握します。
  2. 現在の実行環境を記録する:直近の正常ジョブで「Set up job」のイメージ情報とIncluded Softwareを確認し、runner-imagesのREADMEやリリースと照合します。
  3. ブランチで26.04を明示して実行する:既存のstepsは維持し、runs-onだけをubuntu-26.04へ変えます。検証中は本番デプロイが自動実行されない条件やEnvironment承認を確認してください。
  4. 必要なツールを明示する:ランタイム、CLI、コンパイラなど、CIに必須のものをsetup Actionや公式の導入手順で用意します。プリインストールを前提にする場合は、イメージの収録一覧を確認します。
  5. テスト結果を広く確認する:単体テストだけでなく、ビルド成果物、コンテナ、キャッシュ、署名、周辺サービスとの接続、デプロイ先で必要になる互換性まで確認します。本番への自動デプロイで初回検証を行わないでください。
  6. 固定解除を管理する:24.04へ固定した場合はIssueなどに理由、担当者、再テスト日、固定解除予定日を残します。

Ubuntu 26.04で明示的にテストする例

既存ワークフローのstepsを保ったまま、検証用ブランチでruns-onを変更します。次はジョブ部分の最小例であり、これだけで独立したワークフローファイルにはなりません。cat /etc/os-releaseでOSの名前とバージョンを、uname -aでカーネル情報を確認できます。

jobs:
  build:
    runs-on: ubuntu-26.04
    steps:
      - run: |
          cat /etc/os-release
          uname -a

Arm64 runnerを使うジョブではubuntu-26.04-armを指定します。

ジョブが失敗する前に、ワークフロー自体が開始されない場合は、別記事「GitHub Actionsが実行されない原因と対処法」でトリガーやGITHUB_TOKENの条件を確認してください。

失敗したときの切り分け

  1. 最初に「Set up job」で、失敗したジョブが24.04と26.04のどちらで動いたかを確認します。
  2. command not foundなら、ツールが26.04イメージに含まれるか、名称や導入方法が変わっていないかをrunner-imagesで確認します。
  3. ビルドやリンクの失敗なら、システムライブラリ、コンパイラ、ネイティブ依存、事前生成バイナリへの依存を確認します。
  4. テストだけが失敗する場合は、OS環境へ暗黙に依存した前提がないかを調べ、24.04と26.04のログを比較します。
  5. 成果物やデプロイ工程で失敗する場合は、生成物の内容とデプロイ先の互換性を確認し、原因が分かるまで本番実行を止めます。

修正が移行開始に間に合わない場合は、次のようにubuntu-24.04へ一時固定します。

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
      - run: |
          cat /etc/os-release
          uname -a

固定はOS移行への対応時間を確保する措置です。ツール更新など別の原因によるCIの失敗まで防ぐものではありません。古いイメージを無期限に使う方針ではありません。原因修正後に26.04で再テストし、固定を解除します。

よくある質問

ubuntu-latestにすれば常に同じ環境へ固定できますか?

できません。latestはGitHubが選ぶ最新安定イメージへ移るラベルです。再現性を優先する期間はOSラベルを明示し、必要なツールやアプリ用ランタイムも別途指定します。

self-hosted runnerのUbuntuも自動で26.04になりますか?

今回の発表はGitHub-hosted runnerのイメージとubuntu-latestに関するものです。self-hosted runnerのOSは、この変更によって自動更新されるものではなく、運用者側で管理します。

GitHub ActionsのNode 24移行とは何が違いますか?

Ubuntu 26.04への移行は、ジョブを動かすrunnerのOSとプリインストール環境の変更です。一方、Node 24に関する変更はJavaScript Actionを実行するランタイムや、各Actionの対応状況に関する話です。また、アプリ自身が使うNode.jsの版はsetup-nodeなどで指定します。三つは関連して見えても別の層なので、個別に確認してください。

まとめ

x64版ubuntu-latestのUbuntu 26.04移行は、2026年10月19日から11月19日に予定されています。まず全ワークフローのruns-onを洗い出し、26.04を明示したブランチテストでツール、テスト、成果物まで確認します。準備が間に合わない場合は24.04へ一時固定し、解除日を管理したうえで修正を進めてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次