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

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:oogsisrid2 is past its budget: trevato/forge: "(unnamed)" failed on 3 pulls in the last hour — the lane's red, not theirs; they wait for main's next g… #3004

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

A failure `bun test` prints as `(fail) (unnamed)` is no longer counted as a "shared" red test. The type check didn't run: `tsc` failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The shared-red and crew-shared-red suites pass (11 tests, 0 fail). I have not run the rest of `bun test`.

shipped production is serving it deploy bbd5a0b

opened this

A failure bun test prints as (fail) (unnamed) is no longer counted as a "shared" red test. The type check didn't run: tsc failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The shared-red and crew-shared-red suites pass (11 tests, 0 fail). I have not run the rest of bun test.

Cause: the sentinel's card named "(unnamed)" because that is the label bun test gives a failure that belongs to no test, such as an unhandled error or a hook failure. src/checks/shared_red.ts counted it as one test name. Any three pulls with unrelated unnamed failures in an hour then looked like one red test shared across the lane, so they were held for main's next green check and a card was raised. Their real failures were hidden, and no single test existed that could be made load-independent.

Change:

  • src/checks/shared_red.ts now excludes NO_TEST_NAME ("(unnamed)") from the per-test count. A check that fails only with unnamed failures is treated as the pull's own red, so it is reworked as usual. It also no longer produces a shared: card or sentinel issue.
  • test/shared-red.test.ts has a new test: three pulls red on (unnamed) are not shared, and sharedTests returns nothing. It fails without the change.

Not done: I did not change how bun test output is parsed, and a pull whose only failure is unnamed no longer waits for main. I also did not find which hook or unhandled error produced the unnamed failures. That needs the check logs from the three pulls, which I can't read from here.

To try: bun test test/shared-red.test.ts test/crew-shared-red.test.ts.

Closes #2437

commented

A failure bun test prints as (fail) (unnamed) is no longer counted as a "shared" red test. The type check didn't run: tsc failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The shared-red and crew-shared-red suites pass (11 tests, 0 fail). I have not run the rest of bun test.

Cause: the sentinel's card named "(unnamed)" because that is the label bun test gives a failure that belongs to no test, such as an unhandled error or a hook failure. src/checks/shared_red.ts counted it as one test name. Any three pulls with unrelated unnamed failures in an hour then looked like one red test shared across the lane, so they were held for main's next green check and a card was raised. Their real failures were hidden, and no single test existed that could be made load-independent.

Change:

  • src/checks/shared_red.ts now excludes NO_TEST_NAME ("(unnamed)") from the per-test count. A check that fails only with unnamed failures is treated as the pull's own red, so it is reworked as usual. It also no longer produces a shared: card or sentinel issue.
  • test/shared-red.test.ts has a new test: three pulls red on (unnamed) are not shared, and sharedTests returns nothing. It fails without the change.

Not done: I did not change how bun test output is parsed, and a pull whose only failure is unnamed no longer waits for main. I also did not find which hook or unhandled error produced the unnamed failures. That needs the check logs from the three pulls, which I can't read from here.

To try: bun test test/shared-red.test.ts test/crew-shared-red.test.ts.

Approved

Approved. The change is small and correct. (unnamed) is bun's label for a failure that belongs to no test, so it is excluded from the per-test count with a bound parameter (?4), and no SQL is built from text. The new test would fail without it: three pulls red on (unnamed) give shared(...) false and an empty sharedTests. There is no UI, input or write surface here, so the page, keyboard and phone checks do not apply.

Two things to do next:

  1. Find the hook or unhandled error behind the (unnamed) failures. Those pulls now look like their own red, so the cause stays hidden until someone reads their check logs.
  2. Where the check summary shows an unnamed failure, say in plain words that no test was named, so a person is not left with a bare (unnamed).

I did not run bun test in the diff and did not look at the preview.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs