[object Object]

← back to Cli Printing Press

fix(ci): cancel-in-progress=false so cancelled check_runs don't pile up

80ba507ec22a19d060dbfb487937ceb98ce12a4a · 2026-05-16 16:25:33 -0700 · Trevin Chow

Mirrors printing-press-library#625. With cancel-in-progress: true,
multi-event bursts (synchronize + review.submitted + multiple
review_comment.created within seconds) leave cancelled auto check_runs
behind that we can't PATCH away post-Feb 2025. Switch to
cancel-in-progress: false so queued runs execute serially and all
complete with terminal success/failure conclusions.

Files touched

Diff

commit 80ba507ec22a19d060dbfb487937ceb98ce12a4a
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Sat May 16 16:25:33 2026 -0700

    fix(ci): cancel-in-progress=false so cancelled check_runs don't pile up
    
    Mirrors printing-press-library#625. With cancel-in-progress: true,
    multi-event bursts (synchronize + review.submitted + multiple
    review_comment.created within seconds) leave cancelled auto check_runs
    behind that we can't PATCH away post-Feb 2025. Switch to
    cancel-in-progress: false so queued runs execute serially and all
    complete with terminal success/failure conclusions.
---
 .github/workflows/conversation-resolution-check.yml | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/conversation-resolution-check.yml b/.github/workflows/conversation-resolution-check.yml
index a2c5f8d4..ba70c3b9 100644
--- a/.github/workflows/conversation-resolution-check.yml
+++ b/.github/workflows/conversation-resolution-check.yml
@@ -62,11 +62,20 @@ jobs:
     if: github.event.pull_request == null || github.event.pull_request.draft == false
     runs-on: ubuntu-latest
     timeout-minutes: 5
-    # Coalesce bursts (a push + Greptile review + several thread resolves can
-    # fire within seconds). Latest run wins; older runs are cancelled.
+    # Serialize concurrent triggers via the concurrency group, but do NOT
+    # cancel in-progress runs. Cancellation freezes the auto-created
+    # check_run in `cancelled` state forever (we can't PATCH it post-Feb
+    # 2025), and a single push commonly fires 3-5 events in seconds
+    # (synchronize + Greptile's review.submitted + multiple
+    # review_comment.created), which left a row of `cancelled` check_runs
+    # making the PR look "partially failed" even when the real result
+    # was success. With cancel-in-progress: false, queued runs execute
+    # serially, each completes with a terminal success/failure, and the
+    # required-check rollup uses the latest by completed_at. UI shows
+    # N consistent entries instead of cancelled noise.
     concurrency:
       group: conversation-resolution-${{ github.event.pull_request.number || inputs.pr || github.run_id }}
-      cancel-in-progress: true
+      cancel-in-progress: false
     env:
       GH_TOKEN: ${{ github.token }}
     steps:

← 833213ff fix(cli): drive browser-sniff http_transport from HAR HTTP-v  ·  back to Cli Printing Press  ·  fix(cli): detect partial-failure response shape in :mutate h 875d64e9 →