2026 年 5 月に GitHub Actions のキューが詰まった、Copilot Coding Agent と Code Review Agent が連鎖的にエラーを返してリリースが止まった、あるいは actions-runner-controller 0.14.1 へのアップグレードで listener が再起動を繰り返した、というご経験をされた方は決して少数ではありません。AI Coding Agents は PR とビルドの同時実行数を人間のペースでは到達不可能な水準まで押し上げ、GitHub Actions のコントロールプレーンと ARC は「エージェント化された開発速度」によって逆方向のストレステストを受けています。本記事では、5 月の主要インシデント、2026 年の料金・課金変更、セルフホストのサプライチェーン リスクを 1 枚の早見図にまとめ、ビルドと Agent ワークロードをベアメタル Mac へ移行する 6 ステップの退避手順 を提示します。
本稿を読み終えると、次の 3 点に答えられるようになります。① これらの障害は GitHub の単発退化なのか、Agent ワークロードの構造的問題なのか。② 2026 年にセルフホスト Runner が「無料かつ自由」から「課金かつサプライチェーン高リスク」へと位置づけが変わった後、ハイブリッド構成をどう切り分けるか。③ GitHub のオーケストレーション能力を捨てずに、AI Agent が起動するビルド/修復/レビュー処理を CALMVPS のベアメタル Mac へ安全に着地させる方法。
01 2026 年 5 月の GitHub CI/CD 障害タイムライン
2026 年 5 月の主要イベントを時系列に並べると、Agent ワークロードと GitHub Actions オーケストレーション面の相互増幅 が一目でわかります。これは個別 Runner の故障ではなく、AI Agents の幾何級数的リクエスト下でコントロールプレーン・スケジューラ・メッセージバスが順次露呈した、容量と設計の亀裂です。
- 2026-05-06:Copilot Cloud Agents が数時間停止し、Actions Runner 失敗率は 約 17.1%。根因は Runner 割り当てサブシステムが自動化エージェントのバースト要求に追従できなかった点です。
- 2026-05-11 / 05-12:actions-runner-controller v0.14.1 で listener の断続再起動、broker の
EOF: unknown error、ephemeralrunner の Completed 滞留、pickup が数秒から 10 分以上 に延伸。多くは 0.13.1 へロールバックしました。 - 2026-05-15:GitHub Actions が 07:43–08:48 UTC の 65 分間 退化、ピーク時に 42% の runs が失敗または遅延。Pages、Coding Agent、Code Review Agent はいずれも Actions 依存のため同時に悪化。GitHub は支援基盤 failover で service discovery が正しく伝播しなかった点を引き金として公表しています。
- 容量背景:Actions は 1 日あたり約 7,100 万件の job を処理しており、2027 年までに 30 倍の容量拡張 を目標に基盤を再構築中。コア サービスの一部は Vitess へ移行中です。
- AI 増分シグナル:2025 年に Bash スクリプトで Agent を動かす AI プロジェクト数は前年比 206% 増。GitClear の計測では AI 生成コードの PR は平均 10.83 件 の問題を含み、人間提出の 6.45 件を上回ります。
現場症状も一定のパターンに収束します。job が queued のまま動かない、Coding/Code Review Agent が orchestrator timeout を返す、セルフホスト Runner が GHA UI 上で「lost communication」と表示される、api.github.com は正常など。単純な 200/OK 探査では捉えられず、runs リストに対する意味のあるモニタリングのみが検知できます。
02 Agent 増幅効果と 2026 年料金体系の判断マトリクス
Agent が CI/CD にもたらすのは線形な増加ではなく、3 つの増幅効果の重ね合わせ です。① PR とビルドの洪水(複数 Agent の同時 PR)、② AI 生成コードの「修正—再実行」ループ密度の上昇、③ Agentic Workflow が LLM トークンと Actions 分の両方を消費する 二重課金。これを 2026 年の料金変更に重ねると判断が明確になります。狭い画面では横スクロールでご確認ください。
| 項目 | 2025 ベースライン | 2026 ベースライン | AI Agent ワークロードへの含意 |
|---|---|---|---|
| hosted Runner 単価 | OS / vCPU 別の基本料金 | 2026-01-01 以降、最大 39% 値下げ、$0.002/min のプラットフォーム料金を含む | 単価は下がるが、Agent の同時実行で月額がスパイクしやすい |
| self-hosted Runner | 無料 | 非公開リポジトリ向けに $0.002/min のプラットフォーム料金が告知済み、適用日は再評価のため延期 | 「自前のハードで走らせれば無料」という前提は崩れ、再計算が必要 |
| Copilot Code Review | Copilot PRU 枠のみ消費 | 2026-06-01 以降、レビューごとに Actions 分も消費(非公開リポジトリ) | レビュー Agent の頻度がそのまま Actions コストに直結 |
| コントロールプレーン安定性 | 人間ペースのピークは吸収可能 | 5·15 は 65 分間で 42% 失敗、ARC 0.14.1 では broker EOF が頻発 | Agent 起動の重要リリース窓は予備実行層を確保すべき |
| 公開リポジトリ / GHES | 無料 | 公開リポジトリの Actions は引き続き無料、GitHub Enterprise Server はプラットフォーム料金の影響を受けない | OSS とオンプレ展開には価格的な余地が残る |
| 推奨切り分け | すべて hosted | 主要 Agent + ビルドをセルフホスト/ベアメタルへ移行 | hosted は編成、セルフホストは計算、ベアメタル Mac は Apple チェーン担当 |
結論は実務的です。hosted Runner は引き続き優れたオーケストレータですが、AI Agent 時代の唯一安全な「計算出口」ではなくなりました。ハイブリッド階層化の真価は 安定した実行層と予測可能なコスト にあり、すべてのジョブを共有プールに押し込むことではありません。
03 セルフホスト Runner のサプライチェーンと権限の境界
2026 年のセルフホスト Runner は「節約のためのローカル機」ではなく、継続的攻撃面に晒された実行エンドポイント です。直近半年で SRE のチェックリストに恒久的に載せるべき事件が複数あります。改ざんされた actions-cool/issues-helper アクションが、稼働中の Runner の /proc/Runner.Worker PID/mem から復号済み秘密情報を直接スクレイピングしました。2025-11-24 の Shai-Hulud ワームは被害ホストに不正な Runner を植え付け、GitHub Actions ワークフローを C2 通信路として利用しました。古典的な RUNNER_TRACKING_ID 永続化手法(追跡 ID を 0 に書き換え、ジョブ終了後も孤児プロセスを生き残らせる)も依然有効です。
これらの攻撃は同じ前提条件を共有しています。過度に広い token、pin されていないサードパーティ action、出口を制限していない Runner、そして PR や Issue の本文を直接 prompt に流し込む構成。実装側で最低限敷くべきガードレールは次のような形になります。
# .github/workflows/agent-build.yml(要点抜粋、SHA はプレースホルダ)
permissions:
contents: read # 既定は読み取りのみ、ジョブ単位で必要に応じて昇格
pull-requests: write # レビュー Agent のみが必要
id-token: none # 短期外部認証が不要なら OIDC は無効化
jobs:
build:
runs-on: [self-hosted, calmvps-mac, m4-pro]
steps:
- uses: step-security/harden-runner@<PIN_TO_SHA>
with:
egress-policy: block
allowed-endpoints: >
github.com:443
api.github.com:443
objects.githubusercontent.com:443
- uses: actions/checkout@<PIN_TO_SHA>
with: { persist-credentials: false }
- run: ./scripts/build-and-test.sh
AI Agent ワークフロー向けにはもう一点。PR の本文、Issue のタイトル、コメントの原文を直接 prompt に流し込まないでください。Actions 内で動く AI Agent は他のステップと同等の秘密情報アクセス権を継承します。巧妙に構成された 1 件のコメントで、Agent が token を「ツール引数」として呼び出してしまうことがあります。Agent を読み取り専用に保つ、PR トリガーで first-time contributor approval を有効化する、サードパーティ action はすべて immutable な SHA に pin する。これらが 2026 年の最低水準です。
04 三層構成の再設計:hosted ↔ セルフホスト ↔ ベアメタル Mac
「全員 hosted」を 3 層に分割するのが、直近半年で最も有効と検証された安定状態です。第 1 層 は GitHub-hosted Runner で軽量なオーケストレーション、PR ステータス、Issue 自動分類を担います。第 2 層 はクラウド上の ephemeral セルフホスト Runner(コンテナ/VM)で、汎用 Linux ビルドと大半の Agent 駆動 CI 修復を受けます。第 3 層 は CALMVPS のベアメタル Mac で、Apple ツールチェーン関連のビルド、シミュレータ、Notarization、Apple Silicon 上の AI Agent 推論/編集ループを担います。
もう 1 つの利点は、5·15 のような Actions オーケストレーション退化を第 1 層に閉じ込められる 点です。一時的に編成面が不通になっても計算層は巻き込まれず、重要なリリースの遅延窓が大幅に縮みます。アジア太平洋から米国東西部まで 6 拠点運用のチームは、CALMVPS で「計算が置かれるリージョン」と「どの Agent がどの PR を実行するか」をノード タグで紐付け、並列リソースで一時ビルダを切り出して主キューと競合させずに運用できます。
実施順は 2 つです。まず本記事の §05 でセルフホスト Runner のセキュリティ ガードレールを敷き、続いて CALMVPS の料金ページ でレンタル期間とノードを照合し、第 3 層の計算容量を整えます。Harden-Runner の各環境配備手順、GitHub の 2026 年 Actions 料金や Copilot Code Review の Actions 分消費条項については、StepSecurity と GitHub の公式ドキュメント最新版でご確認ください。
05 退避ルート:6 ステップ実装チェックリスト
- 移行対象ワークロードを棚卸しする:Coding Agent / Code Review Agent / 自社 PR ボットが起動するジョブを列挙し、「Apple ツールチェーン必要」か「汎用 Linux/Container」かに仕分けます。前者はベアメタル Mac へ、後者は第 2 層のセルフホスト プールへ送ります。
- ephemeral セルフホスト Runner を登録する:CALMVPS のベアメタル Mac に ephemeral モードで Runner を登録します(ジョブごとに使い捨て、終了時に作業ディレクトリを破棄)。「reuse worker」など長寿命設定は無効化します。ARC は安定版(0.13.x 系など)にコントローラを固定し、ロールバック基線を確保します。
- Harden-Runner を audit から block へ:まず audit モードで 1–2 イテレーション走らせて実際の egress を収集し、block モードに切り替えて、リポジトリとレジストリ以外のドメインを明示的なホワイトリストで遮断します。ベアメタル/ARC ではイメージや DaemonSet レベルで agent を常駐させます。
- SHA pin と GITHUB_TOKEN の最小権限:サードパーティ action はすべて immutable な SHA で参照します。ワークフロー直下に
permissions: contents: readを置き、レビューやリリースのジョブだけピンポイントに昇格します。公開リポジトリでは初回コントリビュータの実行に承認を要求します。 - AI 修復 Agent に「有界自治」を課す:NightWatcher、WarpFix、TierZero などの実装に共通するパターン:試行は 3 回まで、信頼度しきい値、draft PR で提出、main 直マージは禁止。flaky test 検出と隔離を併用し、Agent が flaky を本物のバグと誤認して何度も「修復」する状況を防ぎます。
- CALMVPS ノード切替とバースト分割:主キューは月額/四半期レンタルの M4 Pro に常駐させます。リリース週の PR バースト時には、日次/週次レンタルと並列リソースで一時ビルダを 1 台追加し、終了後に解放します。120 秒で払い出し、月単位で増減 できるため Agent ピーク窓に整合します。
この 6 ステップで、Actions オーケストレーション退化はせいぜい「コミットが少し遅くなる」程度に留まり、「ビルド成果物が消える」事態には至りません。Agent の修正ループも draft PR と 3 回再試行の枠内に収まり、コストはポストモーテムではなく月次請求書で管理できます。
06 M4 / M4 Pro ノードとレンタル費用のガードレール
- 主キューの基線:Mac mini M4 Pro(64GB / 2TB)で Xcode と Agent の主キューを回し、2–3 並列でも CPU/IO に余裕があります。四半期/月額レンタルで均すと長期占有時の実効時間単価が下がります。
- バースト ビルダ:Mac mini M4(16GB / 24GB)は日次/週次レンタルの一時ビルダ向き。リリース日の Agent 起動 PR スパイクを並列リソースで受け、主キューを乱しません。
- 1TB / 2TB 拡張 ROI:AI Agent 起動の多ブランチ ビルドは DerivedData、ModuleCache、共有モデル キャッシュを 500GB 超へ押し上げます。2TB ノードは GC 頻度とコールド スタート時間を顕著に下げ、月次稼働率 1% の改善でも上位チップへの変更より安価です。
- 6 リージョン経路最適化:シンガポール、日本、韓国、香港、米国東部、米国西部から「リポジトリと成果物に近い計算」を選びます。Agent 作業を遠隔地に置くとビルド時間が待機時間に希釈され、リリース カレンダー上にのみ現れる隠れコストになります。
AI Coding Agents のビルドと修復をすべて GitHub-hosted Runner に押し付け続けると、避けられない代償が 3 つあります。① 5·15 のような退化でリリース窓が受動的に後退、② セルフホスト プラットフォーム料金に Copilot Code Review の Actions 分課金(6/1 以降)が重なり月次請求が PR 量に直接連動、③ サプライチェーンと prompt-injection の境界突破時、共有プール内では事後鑑識が困難。より安定で、iOS CI/CD と AI Agent 自動化の本番環境に適した選択肢として、CALMVPS のベアメタル Mac レンタルは多くの場合に最適解 です。専有の Apple Silicon、7×24 稼働、120 秒払い出し、月単位の柔軟な発注により、Agent 時代の計算出口を自社のコスト曲線上に固定できます。詳細は CALMVPS の料金ページ でご確認ください。