2026-05-02
GitHub Actions で APT 依存をキャッシュして CI を高速化する
agent-browser の CI 実行時間を半減させる4つのキャッシュ戦略と比較検証
agent-browser導入でCI時間が膨らむ
クリーンなランナー環境は再現性を保証しますがブラウザ操作ライブラリの導入で新たな問題が発生します
CI実行時間の増加
毎回ゼロからインストール
ワークフロー実行ごとにインストールが毎回実行され時間がかかる
システム依存の壁
APTパッケージの壁
ChromeだけでなくUbuntuのシステム依存も必要になる
見えないボトルネック
実はフォントが重い
不要なパッケージまで確認とダウンロードをしてしまっている
ベースライン計測で見えた課題
キャッシュなしのCIで実行時間を計測すると想定外の箇所が時間を占めていました
43秒
合計実行時間
キャッシュなしの全体時間
33秒
依存インストール
全体の75パーセント以上を占めるボトルネック
各キャッシュ戦略の実行時間比較
ボトルネック解消のため様々なアプローチを検証しました
ベースライン36〜45秒
キャッシュなしで毎回全実行
最小パッケージ指定24〜30秒
対象は減るがupdateが毎回実行される
既存アクション利用13〜19秒
最速だがNode.js環境の廃止リスクあり
自前実装キャッシュ16〜19秒
廃止リスクはないが現時点の選択肢の一つ
実装手法はプロジェクトの運用に合わせて選択
どちらの実装を選んでもAPTパッケージキャッシュにより大幅なCI時間削減が可能です
既存ライブラリを利用
導入は簡単だが将来的なNode.js廃止リスクが懸念される
自前でキャッシュ実装
廃止リスクはないが運用に合わせた自己管理が求められる
重要なのは「APTキャッシュという戦略を選ぶこと」です
Next Actions
CIの待機時間を削減しよう
APTパッケージをキャッシュして快適な開発環境を手に入れましょう
導入へのステップ
ボトルネックの特定
ログを確認し実際に不足しているパッケージを見極める
キャッシュ戦略の選択
プロジェクトの要件に合ったAPTキャッシュの手法を導入する
ポイント: ランナーが毎回クリーンでもシステム依存のキャッシュは諦める必要はありません
快適なCI環境を構築しよう
sui Tech Blog