Skip to content

fix: PR hygiene runs every event's check to the end, with no concurrency group - #149

Merged
CaffeinatedCoder merged 1 commit into
release/2.3.0from
fix/pr-hygiene-no-cancel
Oct 29, 2026
Merged

CaffeinatedCoder merged 1 commit into
release/2.3.0from
fix/pr-hygiene-no-cancel

Conversation

@CaffeinatedCoder

@CaffeinatedCoder CaffeinatedCoder commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Closes #144

Problem

pr-hygiene.yml had a concurrency group with cancel-in-progress: true. A pull request pushed and then given its labels, milestone and body within seconds started four or five runs and the in-progress ones were cancelled. A cancelled run of the required "Labels and issue link" check left the pull request BLOCKED (#141, #142, #139) until it was re-run by hand, one at a time.

Change

Drops the concurrency group in .github/workflows/pr-hygiene.yml, so every event's run completes. The check takes seconds and reads only its payload, so a cancelled run saved nothing. The header comment records what was measured, on two draft pull requests with five events each:

  • A group with cancel-in-progress: false still cancels: a newer pending run replaces the older pending one. Three of four runs were cancelled (they started no job, so left no check run and blocked nothing, but the runs are missing).
  • No group: all five runs completed, none cancelled. Earlier runs failed on a payload without labels, and the pull request was CLEAN once CI passed: the newest run decides the required check, not the last to finish. With the first run held back 75 s to finish after the one that succeeded, it was CLEAN too.

Tests

This pull request is its own test: opened without labels, then labels, milestone and body set within seconds. The result is recorded in a comment on #144. The scratch pull requests of the measurement are closed and their branches deleted. There is no code under test; the guard is the workflow itself, and the alternative (the group kept) is the measured revert.

…ncy group

The group cancelled the runs of a pull request that was pushed and then labelled,
given its milestone and its body within seconds; a run cancelled while its job went
leaves a cancelled check run, and a cancelled run of the required "Labels and issue
link" check left the pull request BLOCKED beside a later success.

Measured on two draft pull requests with five events each: a group with
cancel-in-progress: false still cancelled three of four runs, since a newer pending
run replaces the older pending one; without a group all five ran. Earlier runs had
failed on a payload without labels and the pull request was CLEAN once CI passed,
also when the first run was held back to finish after the one that succeeded: the
newest run decides the required check, not the last to finish. The header comment
records both.

Closes #144.

Defect-Class: TOOL
Found-By: US
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@CaffeinatedCoder CaffeinatedCoder added bug Something isn't working severity/medium Inconsistency or failure in a narrow scenario area/release Versioning, changelogs, packaging and release wiring area/tooling The repository's tools: prober, verdict, guard, docs-query, smoke test labels Oct 29, 2026
@CaffeinatedCoder CaffeinatedCoder added this to the 2.3.0 milestone Oct 29, 2026
@CaffeinatedCoder
CaffeinatedCoder merged commit 85e0713 into release/2.3.0 Oct 29, 2026
9 of 14 checks passed
@CaffeinatedCoder
CaffeinatedCoder deleted the fix/pr-hygiene-no-cancel branch October 29, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/release Versioning, changelogs, packaging and release wiring area/tooling The repository's tools: prober, verdict, guard, docs-query, smoke test bug Something isn't working severity/medium Inconsistency or failure in a narrow scenario

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant