Skip to content

[Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/coverage.yml #500

Closed

Description

@don-petry

🟠 DEGRADED: petry-projects/google-app-scripts / .github/workflows/coverage.yml

Metric Value
Failure Rate 22.2% (2 / 9 runs)
Status DEGRADED
p50 Duration 32s
p95 Duration 41s
Successful Runs 7
Cancelled Runs 0

Workflow: .github/workflows/coverage.yml

Last updated by Fleet Monitor run on 2026-07-29.
Threshold: failure rate > 10% over the monitored window.

Activity

  1. don-petry commented on Jul 29, 2026

    @don-petry
    CollaboratorAuthor

    Dev-Lead Implementation Plan

    Issue: #500 — [Fleet Monitor] petry-projects/google-app-scripts — .github/workflows/coverage.yml

    Investigation Summary

    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

    Tests to Write

    Test Command

    npm test -- --coverage && node scripts/check-coverage.js

  2. don-petry commented on Jul 29, 2026

    @don-petry
    CollaboratorAuthor

    Dev-Lead: Implementation Complete

    Plan Execution

    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.
    • Phase 2 (TDD) exception: CI-config-only change to a workflow YAML — no JS/GAS logic
      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.
    • 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.
  3. don-petry commented on Aug 1, 2026

    @don-petry
    CollaboratorAuthor

    ✅ 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.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions