From 9a12541f367c8256275ba99b03bd1a68f342b458 Mon Sep 17 00:00:00 2001 From: squid-protocol Date: Thu, 8 Oct 2026 19:06:35 -0400 Subject: [PATCH] ci: evidence-refresh finishes a running refresh instead of cancelling it on every push (#4703) A refresh takes about an hour; with cancel-in-progress every merge to main cancelled the running one, so on busy days no refresh completed. GitHub keeps at most one pending run per concurrency group, so the newest push still gets refreshed after the current run. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D --- .github/workflows/evidence-refresh.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/evidence-refresh.yml b/.github/workflows/evidence-refresh.yml index f89f42c40..cca897dbd 100644 --- a/.github/workflows/evidence-refresh.yml +++ b/.github/workflows/evidence-refresh.yml @@ -12,7 +12,8 @@ name: Evidence Refresh # main, and not in feature PRs (which would conflict on the same generated files); per-PR CI only prints the level deltas # (smoke-test.yml, advisory) and the release gate (publish.yml) requires `evidence_report.py --check --live` clean. # This job runs on every push to main, nightly, and on demand. It always works from the CURRENT main, and its -# concurrency group cancels an older run when a newer push lands. When nothing changed it opens no PR. Otherwise it +# concurrency group lets a running refresh finish and keeps only the newest push queued behind it (a refresh takes +# ~1 h; cancelling on every push starved it on busy merge days, so no refresh ever completed). When nothing changed it opens no PR. Otherwise it # opens (or updates) the bot PR from auto/evidence-refresh onto main and enables squash auto-merge on it. The report # files stay content-deterministic (so --check compares content), so the commit it was refreshed at ("as of commit # ") is stamped on the bot's commit and PR, not inside the files. @@ -45,7 +46,7 @@ permissions: concurrency: group: ${{ github.workflow }} - cancel-in-progress: true # a newer push to main supersedes an older refresh (#4703) + cancel-in-progress: false # finish the running refresh; GitHub keeps only the newest pending run queued (#4703) jobs: refresh: