複数自己ホストmacOSランナーの並列CIでは、同一DerivedData競合とディスク逼迫が典型です。要点はActions Cache とSSDの分担、一意ワークスペース、TTL掃除。全体設計は
企業向け Mac CI リソースプール記事
と併読。
1. Actions Cache とローカル永続ディスクの役割分担
actions/cacheはロック+ツールチェーンでキーした再取得可能な塊向きで加速層と割り切ります。増分コンパイルは各Macの高速SSDにGITHUB_RUN_IDなど一意接頭辞で置き、N日で枝を落とします。残すパスは文書化し秘密を溜めません。
2. 並列でも競合しない
謎フラけは多くがファイル競合。グローバルDerivedData/Pods/SPMやランタイム更新と起動の重なりを一意ディレクトリと隔離で潰す。GUIシムはキューが要ることも。concurrencyでホスト衝突を止め扇を抑える。複数台は
OpenClaw × Actions マルチランナー記事
を参照。
3. ディスク逼迫のガード
空き容量をキュー指標化し、警告で掃除・ハードで迂回。dfを時系列化して犯人リポを特定。スクラッチはシステムと分離。削除は安全パスのみ、ホールドはオブジェクトストレージへ。
4. アーティファクトとクリーンアップ窓口
artifactsのretention-daysを文書に揃えミラー。自前ディスクはTTL掃引+メンテ窓でCPUスパイク誤認を避ける。
5. ミニチェックリスト
- 書き込みは
GITHUB_RUN_ID等の一意接頭辞 - CacheキーはXcode版+ロックで非互換復元を遮断
- ホスト別ディスクにアラート、保持は文書と一致、排水時は登録トークンを漏らさない
ホスト選び:Mac mini と macOS
ルールはホストが安定しているほど効きます。Apple Silicon Mac miniは帯域が高くアイドル電力が低い。macOSは公式スタックで揃い、Gatekeeper・SIP・FileVaultで無人アカウントを説明しやすく、統合メモリは大きな増分ビルドで素直です。
台数はキューとディスク曲線から。ピークは専用クラウドMacも現実解。Mac mini M4+Cache/掃除で横展開を簡潔に。試すなら Macstripe のホームページ でモデルを比較し一台から計測を。