2026年企業Mac CI:Xcode 26 Compilation Cache、gRPC遠隔キャッシュとNVMe設計

Compilation Cacheは細粒度共有へ、DerivedData丸ごとは並列で壊れやすいまま。先に熱層・NVMe・gRPCの役割を決める。 プール整理並行テストFAQ と併読。

1. Compilation CacheとDerivedData:命中モデルが一段違う

DerivedDataは失効が粗くバケット冷えしやすい。Compilation Cacheは差分再ビルド向きだが運用が重い。多くは-derivedDataPath隔離+リモートに大物中間だけ。

目安:グローバル命中は厳格キー。静かな切り分けはJob単位DerivedDataを残す。

2. 並列JobとリモートgRPC:帯域よりQPSと一貫性

gRPC取得QPSが天井になりがち。TLS・接続プール・Xcode+SDKシャード。冷え/温まりP95ローカルフォールバック同一AZ、NAT/HDD裏を避ける。

3. NVMe増設:ワーカー優先、cacheノード次

ワーカーはIOPS、cacheノードは書き込み持続。cacheをNFS/HDDに置くと尾悪化。空き・await監視、LRUメジャーflushを分離。

  • キーにXcodeメジャー・SDK・リポ同一性。誤命中防止。
  • LRUメジャーflushを手順分離。
  • ミス率と壁時計の両方を見る。

4. プラットフォーム責任者向け選定FAQ

  • gRPCの価値:重モジュール共有でRunnerディスクが枯れるとき。小規模はNVMe+DerivedData分桶で足りることも。
  • 命中率半減:Xcode/SDKドリフト→タイムスタンプ等の非再現フラグ。
  • SwiftPMと混同:別バケット。キー汚染を防ぐ。
  • 閉域:社内メッシュ+レジストリ同等の監査。

このスタックを支えるビルドホストとしてのApple Silicon Mac mini

macOSでCIと手元の挙動が揃う。Mac miniはNVMe・統合メモリ・低待機電力、Gatekeeper/SIP/FileVaultで無人説明がしやすい。CPUよりディスクとネットのヘッドルームを先に合わせるとgRPCが安定。

Mac mini M4は基準機として読みやすい。 Macstripeホーム でモデルとcache距離を確認し、今すぐ購入で検証ノードを固定すると再現性が上がる。