本文へスキップ

GitHub Actions、2.329.0未満のセルフホストランナーをブロック

GitHubは2026年9月29日から、2.329.0より古いセルフホストランナー(self-hosted runner)を拒否しています。30日の更新期限を守れないランナーでは、ジョブを止めます。

著者 Tech AI Wire Team

3 分で読めます

GitHub上のactions/runnerのリリースページで、v2.337.0が最新リリースとして示され、その横にv2.330.0までさかのぼる古いバージョンが並んでいる画面。

数字で見る

minimum runner version to register
2.329.0
to install each new runner release
30 days
Actions jobs a day on GitHub's rebuilt backend
120M+

GitHubは2026年9月29日、セルフホスト型のActionsランナーに対する最低バージョン規則の全面適用を始めました。GitHubの変更履歴の投稿で、日付は9月25日から変更されました。バージョン2.329.0より古いランナーは、GitHub Enterprise Cloudに登録できなくなりました。すでに登録済みの古いランナーは、ジョブを受け取らなくなります。

セルフホストランナーとは、GitHubがホストするマシンを使う代わりに、チームが自前のマシンにインストールしてGitHub Actionsのワークフローを実行する小さなプログラムです。チームは特殊なハードウェア、プライベートネットワーク、あるいはコスト削減のためにこれを使います。一度インストールしたきり更新していないランナーが、コードを一切変えていないのに、CIパイプライン(自動のビルドとテストの仕組み)を止めてしまうおそれが出てきました。

2つのバージョン規則

2026年6月12日のGitHubのスケジュール告知によると、2つの別々の制限があります。

規則求められること満たさない場合
登録ランナーのバージョンが2.329.0以降ランナーは登録も再登録もできない
ジョブの実行新しいランナーのリリースを、それぞれ公開から30日以内にインストールするすでに登録済みでも、ランナーはジョブを実行しなくなる

2つのうち、ジョブの規則のほうが厳しいものです。その最低バージョンは登録の最低ラインより上にあり、しかも動き続けます。ランナーは登録できるほど新しくても、ワークフローを実行するには古すぎることがあります。

影響を受けるのは誰か

この規則の対象は、GitHub.comと、GitHubの企業向けホスト型サービスであるGitHub Enterprise Cloudです。データを選んだ地域に保管するエディション、データレジデンシー付きのGitHub Enterprise Cloudでは、2026年7月31日から適用されています。企業が自社のサーバーにインストールする製品、GitHub Enterprise Serverは影響を受けません。

導入までの経緯

GitHubは6月にスケジュールを公開し、その後ブラウンアウトを実施しました。ブラウンアウトとは、短時間の計画的な遮断です。古いランナーを数時間止め、本当の期限の前に持ち主に気付いてもらうためのものです。

Enterprise Cloudでは、ブラウンアウトは決められた日の米東部時間の午前11時から午後3時に行われました。6月の告知によると、その範囲は毎週広がりました。

週ブラウンアウトの日遮断されたもの
18月24日登録
28月31日、9月2日登録
39月7日、9日、11日登録とジョブの実行
49月14日、16日、18日登録とジョブの実行

この規則の背景にはインフラがあります。DevOps.comの報道によると、GitHubは2024年初めにActionsを支えるバックエンドサービスの再構築を始めました。新しい基盤は1日に1億2,000万件を超えるジョブを処理します。企業は1分あたり、以前の7倍のジョブを開始できるようにもなりました。DevOps.comによれば、ランナーのバージョンを強制することで、すべてのランナーが新しい基盤で動くことが保証され、この移行が完了します。

ランナーの確認方法

GitHubの9月28日の投稿は、ランナーのバージョン廃止に関するREST APIも追加しています。このAPIは、ランナーの各バージョンについて、登録と実行の廃止日を返します。チームはこれを使えば、失敗したジョブで知るのではなく、次の期限が近づくのを前もって確認できます。

GitHubの6月の告知によると、自動更新をオンにしたランナーは、それだけで30日の規則を満たします。誰かが手動でアップグレードしているランナーは、期限内にとどまるために定期的な更新計画が必要です。

これは開発者にとって何を意味するか

ビルドが失敗する前に、今日すべてのセルフホストランナーを確認してください。各ランナーと、それぞれが報告するバージョンの一覧を作り、2.329.0未満のものから先にアップグレードしてください。それらのマシンは、すでに登録から締め出されています。

次に、各ランナーがどのように更新を受け取っているかを確認してください。仮想マシンのイメージやコンテナイメージに組み込まれたランナーは、よくある落とし穴です。それらはイメージに固定されたバージョンのまま起動します。チームはビルドの再現性を保つために、自動更新をオフにすることがよくあります。30日の期限の下では、そのイメージを少なくとも月に1回は作り直す必要があります。

この規則は一度きりの移行ではなく、恒久的なものとして扱ってください。新しいランナーのリリースが出るたびに、新たな30日のカウントが始まります。ランナーのバージョンをオペレーティングシステムと同じパッチ手順に組み込み、廃止APIを監視の仕組みにつないでください。

静かになったランナーに注意してください。この規則ができる前は、動いていないランナーはたいていマシンの故障を意味していました。今では、GitHubが単にジョブを送るのをやめただけかもしれません。

出典

  1. Self-hosted runner version enforcement date has moved - GitHub Changelog
  2. GitHub Actions: Minimum version enforcement timeline for self-hosted runners - GitHub Changelog
  3. GitHub Actions Gets Serious About Self-Hosted Runner Versions - DevOps.com

関連記事

透明なスタンドに立てられた黒い小型ルーター。イーサネットポートの列がこちらを向き、背景は明るいグレー。
プログラミング

SharePointとMikroTikの脆弱性、CISAの悪用済みリストに

CISAはMicrosoft SharePoint Server(シェアポイント)の脆弱性と、MikroTik(マイクロティック)RouterOSの連鎖的な脆弱性を悪用済み脆弱性カタログに追加した。米連邦機関の修正期限は9月28日。

Kubernetes 1.37のノードで、kubeletとkube-proxyのプロセスが非rootユーザーの所有として表示されているターミナル画面。
開発ツール

Kubernetes 1.37、rootlessモードがベータに昇格

Kubernetes 1.37でKubeletInUserNamespaceがベータになりました。kubelet、コンテナランタイム、CNIプラグイン、kube-proxyのすべてを非rootユーザーで動かせます。