[object Object]

← back to Cli Printing Press

fix(ci): collapse Mergify two-step CI to enable in-place mode (#1336)

5ac1de7c5823ef6b90a210a4ca2135ede7ae1449 · 2026-05-13 13:43:44 -0700 · Trevin Chow

Folds the six required CI checks plus Greptile into queue_conditions and removes the separate merge_conditions block. Mergify activates in-place mode when batch_size=1 + max_parallel_checks=1 + single condition set; the missing third requirement kept it in draft_pr mode after #1321, hitting the Greptile-on-bot-branches dead-end. In-place mode rebases the source PR's branch directly, so CI (and Greptile) re-runs where it can actually post.

Files touched

Diff

commit 5ac1de7c5823ef6b90a210a4ca2135ede7ae1449
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Wed May 13 13:43:44 2026 -0700

    fix(ci): collapse Mergify two-step CI to enable in-place mode (#1336)
    
    Folds the six required CI checks plus Greptile into queue_conditions and removes the separate merge_conditions block. Mergify activates in-place mode when batch_size=1 + max_parallel_checks=1 + single condition set; the missing third requirement kept it in draft_pr mode after #1321, hitting the Greptile-on-bot-branches dead-end. In-place mode rebases the source PR's branch directly, so CI (and Greptile) re-runs where it can actually post.
---
 .mergify.yml | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/.mergify.yml b/.mergify.yml
index e6dcf430..853f1874 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -1,8 +1,14 @@
 queue_rules:
   - name: default
+    # Single condition block (no separate merge_conditions) so Mergify uses
+    # in-place mode instead of draft_pr mode. In-place mode rebases the
+    # source PR's branch directly; CI re-runs on the source PR where
+    # Greptile (and any other PR-only review apps) can actually post.
+    # The draft `mergify/merge-queue/*` mechanism creates bot-owned branches
+    # that Greptile skips, which was the root cause of every queued PR
+    # timing out waiting for Greptile.
     queue_conditions:
       - base = main
-    merge_conditions:
       - check-success = build-and-test
       - check-success = generated-test
       - check-success = go-lint
@@ -15,10 +21,7 @@ queue_rules:
         - check-skipped = Greptile Review
     merge_method: squash
     update_method: rebase
-    # OSS plan: batch_size must be 1 and max_parallel_checks must be 1 to
-    # stay in in-place mode. The draft `mergify/merge-queue/*` PR train
-    # (used when batch_size > 1 or max_parallel_checks > 1) is the paid
-    # "Merge Queue Batch" feature.
+    # OSS plan: batch_size and max_parallel_checks must both be 1.
     batch_size: 1
     checks_timeout: 60m
 

← 1b466a64 chore(ci): wire Greptile into Mergify, pin OSS-plan in-place  ·  back to Cli Printing Press  ·  chore(cli): ignore local AI agent instruction files (#1326) ea0cfd8d →