[object Object]

← back to Cli Printing Press

chore(ci): raise mergify batch_size and add queue safety knobs (#1306)

a117a741bf841094c1b45381c28b1b5d439c4ba4 · 2026-05-13 11:56:58 -0700 · Trevin Chow

* chore(ci): raise mergify batch_size to 3, add speculative_checks and checks_timeout

Queue had been serializing ~8 ready PRs through batch_size=1, with the head
PR (#1278) sitting ~7.5 hours despite all checks green. Raising batch_size to
3 cuts wall-clock ~3x in the common all-green case; speculative_checks=2
keeps the next batch's CI warm while one merges; checks_timeout=60m prevents
a hung Greptile or full-test check from stalling the queue indefinitely.

* chore(ci): migrate speculative_checks to merge_queue.max_parallel_checks

speculative_checks inside queue_rules is deprecated in Mergify; max_parallel_checks
at the top-level merge_queue block is the supported equivalent. Migrating proactively
avoids a silent no-op if the deprecated key is dropped.

Files touched

Diff

commit a117a741bf841094c1b45381c28b1b5d439c4ba4
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Wed May 13 11:56:58 2026 -0700

    chore(ci): raise mergify batch_size and add queue safety knobs (#1306)
    
    * chore(ci): raise mergify batch_size to 3, add speculative_checks and checks_timeout
    
    Queue had been serializing ~8 ready PRs through batch_size=1, with the head
    PR (#1278) sitting ~7.5 hours despite all checks green. Raising batch_size to
    3 cuts wall-clock ~3x in the common all-green case; speculative_checks=2
    keeps the next batch's CI warm while one merges; checks_timeout=60m prevents
    a hung Greptile or full-test check from stalling the queue indefinitely.
    
    * chore(ci): migrate speculative_checks to merge_queue.max_parallel_checks
    
    speculative_checks inside queue_rules is deprecated in Mergify; max_parallel_checks
    at the top-level merge_queue block is the supported equivalent. Migrating proactively
    avoids a silent no-op if the deprecated key is dropped.
---
 .mergify.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.mergify.yml b/.mergify.yml
index 25b4514c..de06c4ad 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -11,9 +11,11 @@ queue_rules:
       - check-success = test
     merge_method: squash
     update_method: rebase
-    batch_size: 1
+    batch_size: 3
+    checks_timeout: 60m
 
 merge_queue:
+  max_parallel_checks: 2
   queued_label: queued
   dequeued_label: dequeued
   status_comments: outcomes

← 42093ad8 fix(skills): extend retro pre-upload scrub with jurisdiction  ·  back to Cli Printing Press  ·  chore(ci): wire Greptile into Mergify, pin OSS-plan in-place 1b466a64 →