Linear、AI時代のCI詰まりを解消する改善策を公開
Original : AI coding has made CI a bottleneck, so we reworked ours to keep up
Pourquoi c'est important
AIコーディング時代のCIボトルネック問題は業界全体の共通課題であり、実測データを伴う解決事例は参考価値が高い。
LinearはAIコーディングによるCI負荷増大に対応するため、インフラ移行・ツールチェーン刷新・テスト最適化を実施。テストスイートが約4倍に増加したにもかかわらず、PRの待機時間を6分超から5分超に短縮し、テストあたりのランナー時間を約半減させた。
AIエージェントの普及でコード出荷速度が急加速する一方、CIパイプラインがその速度に追いついていない。LinearのエンジニアMufeez Amjadが、CTOから課された「CIコスト削減と高速化」というタスクへの取り組みを詳細に公開した。
主な施策は4つ。まず、GitHub ActionsからサードパーティのCIランナーへ移行し、同等ジョブの実行速度が平均34%向上。型チェックツールは従来のtscからネイティブコンパイラtsgoに切り替え、週次中央値で73%の削減を達成した。
次に、ESLintのカスタムルールからTypeScript型情報への依存を排除。抽象構文木を使った静的解析へ書き直したことで、APIのlint時間が68%、リポジトリ全体のlint時間が55%削減され、Oxlintへの移行も容易になった。
さらに、他ジョブをブロックする先行ジョブの最適化と、各ジョブで必要なデータのみを取得する設計変更も実施。テストスイートが年初比でほぼ4倍に膨らんだ状況でも、これらの改善によりコスト・待機時間の両面で成果を出している。