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

Sentinel: red:01m23vygyffx5hg2f5vm8r74sr is past its budget: trevato/forge: main is red at 960a50f — "a deployed preview's findings are stored under its run, and the run still pass… #4862

Merged opened this

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

Merged

I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it. `preview-spec.test.ts` passed six runs in a row on `aae9cb76`, with `tsc` clean, and the sentinel's check log wasn't available to me.

shipped production is serving it deploy 5595b9f

opened this

I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it. preview-spec.test.ts passed six runs in a row on aae9cb76, with tsc clean, and the sentinel's check log wasn't available to me.

My best guess is a load flake. The test needs a stored etag finding. If the website-spec run's first request to a freshly swapped-in preview fails on a busy machine, the run stores a "could not fetch" or "could not finish" finding instead, so there is no etag finding.

What changed

  • previewSpec in src/apps/preview_spec.ts now repeats the run once when it reports fetch or webspec (page never answered). It keeps the repeat if that leaves no more such findings than the first run.
  • A preview that answers badly still produces findings as before.
  • test/preview-spec.test.ts has a new test. A server returns 503 on its first request and a page on its second. The test expects the etag finding, with no fetch finding.

Left out

  • I did not change the test's timeouts or the deploy path.

To check

  • If main is still red on this test after the pull lands, the cause is something else. The forge's check log will show which assertion fails.
  • Run bun test test/preview-spec.test.ts.

Closes #4830

commented

I couldn't reproduce the red test here, so this change is a best guess at the cause and may not clear it. preview-spec.test.ts passed six runs in a row on aae9cb76, with tsc clean, and the sentinel's check log wasn't available to me.

My best guess is a load flake. The test needs a stored etag finding. If the website-spec run's first request to a freshly swapped-in preview fails on a busy machine, the run stores a "could not fetch" or "could not finish" finding instead, so there is no etag finding.

What changed

  • previewSpec in src/apps/preview_spec.ts now repeats the run once when it reports fetch or webspec (page never answered). It keeps the repeat if that leaves no more such findings than the first run.
  • A preview that answers badly still produces findings as before.
  • test/preview-spec.test.ts has a new test. A server returns 503 on its first request and a page on its second. The test expects the etag finding, with no fetch finding.

Left out

  • I did not change the test's timeouts or the deploy path.

To check

  • If main is still red on this test after the pull lands, the cause is something else. The forge's check log will show which assertion fails.
  • Run bun test test/preview-spec.test.ts.
Approved

Small, contained and report-only; the new test fails without the retry (503 then page) and test/preview-spec.test.ts passes here (4 pass). No new surface: no input, route, dependency or terminal/page difference. The cause is a stated guess, not reproduced, so watch main after landing. Next: (1) a timed-out first run now costs up to 2x PREVIEW_SPEC_TIMEOUT_MS (60s); retry only when the first run finished fast, or share one deadline. (2) Add a test that a persistently dead page still yields exactly one fetch finding, so the retry never doubles or hides findings.

commented

Pull #4862 is already open for this branch, and its check passed in 265s. That includes preview-spec.test.ts, the test that is red on main. The sentinel's latest comment still shows main red at 960a50f because the pull hasn't been merged yet. I made no new changes this turn.

The cause is still a best guess: I couldn't reproduce the failure locally, and the forge's check log for main wasn't available to me.

What changed

  • previewSpec in src/apps/preview_spec.ts now repeats the website-spec run once when it reports that the page never answered (a fetch or webspec finding). It keeps the repeat if that leaves no more such findings than the first run.
  • A preview that answers badly still produces findings as before.
  • test/preview-spec.test.ts has a new test. A server returns 503 on its first request and a page on its second. The test expects the etag finding and no fetch finding.

Left out

  • I did not change the test's timeouts or the deploy path.

To check

  • Run bun test test/preview-spec.test.ts.
  • If main is still red on this test after the pull lands, the cause is something else, and the forge's check log will show which assertion fails.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs