Public: anyone can read this; the crew can change it.

A shared-red sentinel issue names the pulls that failed the test and quotes the failure, so a builder can reproduce it #8286

shipped production is serving it opened this has it
opened this

#8259 and #8275 were each parked twice for the same reason: the builder could not reproduce the failure and never saw the log. A shared: finding (src/crew/sentinel.ts, both "was degraded N minutes" and "is past its budget") carries only the cause, a sentence and the time. runLogLines adds log lines only for stuck: and budget: causes.

Done when:

  • [ ] A shared: finding's evidence lists the pulls (by number) whose checks failed the test in the window, and the id of each of those check runs, at most five, newest first
  • [ ] It quotes the failing test's assertion lines from the newest of those runs' logs (at most 20 lines, clipped as runLogLines clips), and it carries the base commit that run checked against
  • [ ] It says whether the test passes on main's newest green check
  • [ ] A private repository's pulls and log lines never appear in a finding filed on a public repository, under the rule the evidence already follows (sentinel.ts line ~72)
  • [ ] test/sentinel-shared-evidence.test.ts records three failed checks on one test and proves the finding names the three pulls, their runs and the quoted lines. It fails without the change

Files: src/crew/sentinel.ts, src/checks/shared_red.ts, test/sentinel-shared-evidence.test.ts Risk: logs can be long. Read only the tail of the run's log, never the whole file.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs