Skip to content

fix(queue): stop paging Sentry daily for release-please PRs' expected stuck CI#8530

Merged
JSONbored merged 1 commit into
mainfrom
fix/release-pr-stuck-ci-signal-noise
Jul 24, 2026
Merged

fix(queue): stop paging Sentry daily for release-please PRs' expected stuck CI#8530
JSONbored merged 1 commit into
mainfrom
fix/release-pr-stuck-ci-signal-noise

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Sentry LOOPOVER-2F: the stuck-CI repeat signal (ci_stuck_review_repeat_suppressed) paged daily for 7 days about PR #8273 — the release-please PR, whose CI never settles by design, and which self-cleared the moment it merged. Release PRs here are PAT-authored (so their CI can trigger at all), which makes them invisible to the bot-typed-actor skip in settings/automation-bot-skip.ts.

Fix: when the stuck PR's head branch matches release-please's well-known release-please-- prefix, the once-a-day coalesced signal logs at warn instead of error — below the structured-log Sentry forwarder's threshold, still visible in Workers Logs. Everything else is untouched: the finalize guard, the audit trail, the defer behavior, and the error-level page for every regular PR. Branch-name matching is safe for this because nothing security-relevant hangs off it — a contributor naming their branch this way only quiets their own PR's Sentry ping, never the guard or any review/trust decision.

Validation

  • New regression test runs the full guard flow for two PRs side by side — a release-please--branches--main head (asserts level: "warn") and a feature/stuck-ci head (asserts level: "error"), plus identical guard/defer counts for both.
  • npx vitest run test/unit/queue.test.ts — 181 passed.
  • npm run typecheck clean; npm run test:coverage (unsharded) green.

… stuck CI

Sentry LOOPOVER-2F: the stuck-CI repeat signal paged daily for 7 days about
loopover#8273 -- the release-please PR, whose CI never settles BY DESIGN, and
which self-cleared the moment it merged. Release PRs here are PAT-authored (so
their CI can trigger at all), making them invisible to the bot-typed-actor
skip in settings/automation-bot-skip.ts.

When the stuck PR's head branch matches release-please's well-known
release-please-- prefix, the once-a-day coalesced signal now logs at warn via
console.warn (sink matches level per #7806) -- below the structured-log Sentry
forwarder's threshold, still visible in Workers Logs. The finalize guard,
audit trail, defer behavior, and the error-level page for every regular PR are
untouched. Branch-name matching is safe for this: nothing security-relevant
hangs off it -- a contributor naming their branch this way only quiets their
own PR's Sentry ping, never the guard or any review/trust decision.
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 24, 2026
@JSONbored
JSONbored merged commit 5c5f461 into main Jul 24, 2026
4 checks passed
@JSONbored
JSONbored deleted the fix/release-pr-stuck-ci-signal-noise branch July 24, 2026 19:03
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.98%. Comparing base (ac5ffbd) to head (905f834).
⚠️ Report is 27 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #8530       +/-   ##
===========================================
+ Coverage   78.66%   91.98%   +13.31%     
===========================================
  Files         793      793               
  Lines       79483    79564       +81     
  Branches    24017    24046       +29     
===========================================
+ Hits        62526    73184    +10658     
+ Misses      13908     5306     -8602     
+ Partials     3049     1074     -1975     
Flag Coverage Δ
backend 92.93% <100.00%> (?)
shard-1 ?
shard-2 ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/queue/processors.ts 95.74% <100.00%> (+24.72%) ⬆️

... and 252 files with indirect coverage changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant