Skip to content
Latchkey

Merge Queue とは?

merge queue は、承認された pull request を列に並べ、着地する前に最新のターゲット branch に対して CI を再実行しながら、1 つずつ merge するシステムです。これは、2 つの PR がそれぞれ独立に pass しても、組み合わせると壊れる状況を防ぎます。手動の rebase なしに、忙しい main branch を継続的に緑に保ちます。

なぜ重要か

トラフィックの多い repo では、1 時間前に緑だった PR が、その後に merge されたものと論理的に競合するかもしれません。merge queue は各変更の実際の merge 後の状態をテストし、これらのセマンティックな競合を捕捉します。トレードオフは CI 実行の増加で、高速で autoscaling する runner がそれを吸収するのに役立ちます。

関連する概念

  • 各 PR を現在のターゲット branch に対してテストする
  • 独立に緑な PR 間のセマンティックな競合を防ぐ
  • CI 負荷を増やすため autoscaling する runner が有利

関連ガイド