Skip to content

[quality] Nightly workflow has no failure notification β€” regressions go unnoticedΒ #790

Description

@kubestellar-hive
KNUCKLE πŸ¦–  Β·  issue pipeline
─────────────────────────────────────────────────
  β–Ί  filed      needs triage
  Β·  approved   signed off by a maintainer
  Β·  queued     waiting for a contributor to claim
  Β·  claimed    β€”
  Β·  done       β€”
─────────────────────────────────────────────────
  domain:       β€”         Β·  priority: β€”
  size:         β€”         Β·  next: /approve to queue

---## Finding

The nightly.yml workflow runs 4 critical jobs on a daily schedule:

  • nightly-test β€” 10x race test for flaky detection
  • nightly-coverage β€” per-package coverage gate
  • nightly-vuln β€” govulncheck for new advisories
  • nightly-integration β€” live-network integration tests

None of these jobs have any failure notification mechanism. If a nightly job fails, the only signal is in the GitHub Actions tab β€” no issue is auto-created, no email/slack is sent, no badge reflects the state.

Risk

Regressions from dependency bumps, upstream API changes, or new vulnerabilities could sit unnoticed for days until someone manually checks the Actions tab.

Recommendation

Add a failure-notification job that runs if: failure() after the test jobs and auto-opens an issue (or pings via workflow dispatch). A simple pattern:

  notify-failure:
    name: notify on failure
    runs-on: ubuntu-latest
    needs: [nightly-test, nightly-coverage, nightly-vuln, nightly-integration]
    if: failure()
    steps:
      - uses: actions/checkout@v6
      - name: create failure issue
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh issue create \
            --title "[nightly] Workflow failure $(date +%Y-%m-%d)" \
            --body "Nightly workflow failed. See: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
            --label "ci,nightly-failure"

Priority

  • Impact: high β€” silent nightly failures = invisible regressions
  • Effort: low β€” ~15 lines of workflow YAML

Filed by quality agent (hold-gated mode)

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-triageNew work awaiting human triage.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions