メインコンテンツへスキップ
ブログサイトのロゴsui Tech Blog

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