You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over the last 100 coverage.yml runs: 98 success, 2 action_required, 0 genuine test failures. The DEGRADED signal (2/9 = 22.2%) comes from GitHub's approval-gate (action_required) runs on bot-authored PRs being counted as failures — not from flaky tests or coverage regressions. Rapid successive pushes (dev-lead commits, ci.yml autofix commits, dependabot rebases) queue redundant coverage.yml runs that accumulate in the gated state.
Scope
Add a top-level concurrency group to coverage.yml (keyed on ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: true) so superseded runs are cancelled rather than lingering — the same fix pattern previously applied to this workflow (#390) and ci.yml (#457).
Implementation Checklist
.github/workflows/coverage.yml — add concurrency block after permissions
Investigated 100 coverage.yml runs: 98 success, 2 action_required, 0 genuine test failures — DEGRADED signal is approval-gated bot-PR runs counted as failures, not flaky tests
Verified full test suite, coverage gate, and dev-lead lint all pass
Test Results
Test Suites: 12 passed, 12 total
Tests: 301 passed, 301 total
Snapshots: 0 total
Time: 6.067 s
📊 Coverage Report:
✅ statements : 98.91% (999/1010) [required: 95%]
✅ branches : 90.00% (558/620) [required: 85%]
✅ functions : 98.00% (98/100) [required: 95%]
✅ lines : 100% (0/0) [required: 100%]
✅ All coverage metrics meet requirements.
[lint] all checks passed (.dev-lead/scripts/dev-lead-lint.sh → exit 0)
Files Changed
.github/workflows/coverage.yml: added top-level concurrency group keyed on ${{ github.workflow }}-${{ github.ref }} with cancel-in-progress: true, so rapid
successive pushes (dev-lead commits, ci.yml autofix commits, dependabot rebases) cancel
superseded runs instead of accumulating in the action_required approval-gate state that
the monitor counts as failures.
Notes
Root cause: the 22.2% "failure rate" was 2 action_required runs (GitHub's approval
gate on bot-authored PRs where jobs never executed) — not test flakiness or coverage
regressions. cancel-in-progress reduces redundant gated runs by cancelling superseded
ones (cancelled runs are excluded from the monitor's failure rate).
Per-PR isolation: for PRs github.ref is refs/pull/N/merge (unique per PR), so
distinct PRs never cancel each other; only older commits of the same PR are superseded.
Latest-commit runs are never cancelled, so no required check is lost.
Pre-existing, unrelated:npm run check reports prettier formatting warnings in 4
unrelated workflow files (add-to-project.yml, auto-rebase.yml, dependabot-automerge.yml, pr-auto-review.yml) that exist on main. Left untouched per
the "do not modify unrelated files" constraint. coverage.yml itself is prettier-clean.
✅ Auto-resolved by Fleet Monitor. This workflow's failure rate has been below the 10% threshold (or the workflow was removed) since 2026-07-29 (3 days) — the monitor stopped flagging it. Closing. It will reopen automatically if the workflow crosses the threshold again.
Activity
don-petry commentedon Jul 29, 2026
Dev-Lead Implementation Plan
Issue: #500 — [Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/coverage.yml
Investigation Summary
Over the last 100
coverage.ymlruns: 98 success, 2action_required, 0 genuine test failures. The DEGRADED signal (2/9 = 22.2%) comes from GitHub's approval-gate (action_required) runs on bot-authored PRs being counted as failures — not from flaky tests or coverage regressions. Rapid successive pushes (dev-lead commits, ci.yml autofix commits, dependabot rebases) queue redundantcoverage.ymlruns that accumulate in the gated state.Scope
Add a top-level
concurrencygroup tocoverage.yml(keyed on${{ github.workflow }}-${{ github.ref }},cancel-in-progress: true) so superseded runs are cancelled rather than lingering — the same fix pattern previously applied to this workflow (#390) andci.yml(#457).Implementation Checklist
.github/workflows/coverage.yml— addconcurrencyblock afterpermissionsTests to Write
Test Command
npm test -- --coverage && node scripts/check-coverage.jsdon-petry commentedon Jul 29, 2026
Dev-Lead: Implementation Complete
Plan Execution
coverage.ymlruns: 98 success, 2action_required, 0 genuine test failures — DEGRADED signal is approval-gated bot-PR runs counted as failures, not flaky testsconcurrencyblock to.github/workflows/coverage.yml(matches [Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/coverage.yml #390/[Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/ci.yml #457 precedent)Test Results
Files Changed
.github/workflows/coverage.yml: added top-levelconcurrencygroup keyed on${{ github.workflow }}-${{ github.ref }}withcancel-in-progress: true, so rapidsuccessive pushes (dev-lead commits, ci.yml autofix commits, dependabot rebases) cancel
superseded runs instead of accumulating in the
action_requiredapproval-gate state thatthe monitor counts as failures.
Notes
action_requiredruns (GitHub's approvalgate on bot-authored PRs where jobs never executed) — not test flakiness or coverage
regressions.
cancel-in-progressreduces redundant gated runs by cancelling supersededones (cancelled runs are excluded from the monitor's failure rate).
github.refisrefs/pull/N/merge(unique per PR), sodistinct PRs never cancel each other; only older commits of the same PR are superseded.
Latest-commit runs are never cancelled, so no required check is lost.
surface and no workflow-YAML test harness in this repo. Verified via existing full suite +
lint (no regressions), consistent with the [Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/coverage.yml #390 resolution.
npm run checkreports prettier formatting warnings in 4unrelated workflow files (
add-to-project.yml,auto-rebase.yml,dependabot-automerge.yml,pr-auto-review.yml) that exist onmain. Left untouched perthe "do not modify unrelated files" constraint.
coverage.ymlitself is prettier-clean.don-petry commentedon Aug 1, 2026
✅ Auto-resolved by Fleet Monitor. This workflow's failure rate has been below the 10% threshold (or the workflow was removed) since 2026-07-29 (3 days) — the monitor stopped flagging it. Closing. It will reopen automatically if the workflow crosses the threshold again.