Skip to content

a red Acceptance (nightly) reaches nobody: 49 failures in a row with no notification path #1271

Description

@luantaraschi

Opening this as a question rather than a fix, because the answer is a call about notification channels and it touches .github/workflows/. Happy to implement whichever shape you pick, or to drop it.

The observation

Acceptance (nightly) has run 50 times since 31 July. 49 failed, 1 was cancelled, none passed. The last 20 runs are all failure.

Nothing in the repository connects that to a person. No workflow opens an issue, and no workflow sends a failure anywhere outside its own run log. A red nightly is indistinguishable from a green one unless somebody opens the Actions tab and looks.

Two things that cost real time as a result:

The parts already exist

This is not a missing capability, it is an unconnected one.

  • release.yml posts to Discord through DISCORD_RELEASES_WEBHOOK, documented in docs/project-setup.md §6, and skips with a warning when the secret is absent so a fork is unaffected. That posture is exactly what a CI notification wants.
  • sync-labels.yml already runs with issues: write, so the permission shape has a precedent too.
  • ci.yml has good failure handling (report:test-failures annotations, the size-overshoot artifact) but all of it lives inside the run, for a reader who is already there.

acceptance.yml has none of the three.

What I would suggest, and the question

An if: failure() step on the nightly that raises the failure somewhere a human passes. The scoreboard line the suite already prints is enough payload:

21 passed, 2 failed, 1 skipped
  ✗ 22  Seeds extensions roundtrip [...]
  ✗ 42  One-line self-host [...]

Three shapes, and I do not want to guess which you want:

  1. One tracking issue, opened once and updated. Survives a closed Actions tab and carries the history. Needs issues: write and dedupe logic, otherwise 49 nights is 49 issues.
  2. A Discord webhook, mirroring the release announcement. Cheapest to write, matches where you already read things, leaves no durable record.
  3. Neither. If the nightly is meant to be a thing you check by hand when you care, that is a valid answer and I will close this.

Whichever you pick, one detail matters more than the channel: it should fire on a change of state, not on every red night, or it becomes noise within a week and gets muted. Red-to-green is worth saying too.

If you want shape 1 or 2, say which and I will open the PR.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/buildBuild, CI, lint, type-check, ratchets, tooling (.github/, scripts/)priority/P3Low: nice-to-have; pick up when capacity allowstype/choreMaintenance: tooling, CI, build, internal cleanup

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions