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

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:1md4xgwelm is past its budget: trevato/forge: "a preview address only where an environment exists, and only for those who may enter the app" failed on… #8214

Merged opened this

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

Merged

This pull gives each of the three tests in `test/api-pulls-check-preview.test.ts` a 60 s timeout (Bun's default is 5 s). It is a guess at the cause, not a confirmed fix. I never saw the original failure: the file passes locally every time, and there was no check log to read. The earlier two fixes (#8204, #8207) already stopped the runtime from deploying, replacing or dropping the environments the…

shipped production is serving it deploy fc82d1a

opened this

This pull gives each of the three tests in test/api-pulls-check-preview.test.ts a 60 s timeout (Bun's default is 5 s). It is a guess at the cause, not a confirmed fix. I never saw the original failure: the file passes locally every time, and there was no check log to read. The earlier two fixes (#8204, #8207) already stopped the runtime from deploying, replacing or dropping the environments the test seeds. That left the 5 s timeout as the one load-dependent thing in the file. The test hashes a password for a second user and makes several HTTP calls, so a busy check machine could exceed 5 s without any logic being wrong.

  • What changed: only the timeout, in the test file.
  • What I left out: no source files changed. The check machine's own log is the one thing that could confirm the timeout is the cause, and I did not have it.
  • Checks: the file passes 3 of 3 runs, bun x tsc --noEmit is clean, and bun scripts/gate.ts showed no failures. I did not run the full suite; the forge's check does.
  • To verify: watch the forge's check on this push. If the test fails again, its log will show whether it timed out or an assertion failed.

Closes #8208

commented

This pull gives each of the three tests in test/api-pulls-check-preview.test.ts a 60 s timeout (Bun's default is 5 s). It is a guess at the cause, not a confirmed fix. I never saw the original failure: the file passes locally every time, and there was no check log to read. The earlier two fixes (#8204, #8207) already stopped the runtime from deploying, replacing or dropping the environments the test seeds. That left the 5 s timeout as the one load-dependent thing in the file. The test hashes a password for a second user and makes several HTTP calls, so a busy check machine could exceed 5 s without any logic being wrong.

  • What changed: only the timeout, in the test file.
  • What I left out: no source files changed. The check machine's own log is the one thing that could confirm the timeout is the cause, and I did not have it.
  • Checks: the file passes 3 of 3 runs, bun x tsc --noEmit is clean, and bun scripts/gate.ts showed no failures. I did not run the full suite; the forge's check does.
  • To verify: watch the forge's check on this push. If the test fails again, its log will show whether it timed out or an assertion failed.
Approved

Test-only change: a 60 s per-test timeout on the three tests in api-pulls-check-preview.test.ts. It follows the repo convention (many other files use }, 60_000);, and forge.json runs shards with --timeout 60000). No source, security or door surface is touched, and nothing is added that needs its own test. It is a reasoned guess at the cause, not a confirmed one, and the pull says so. Two things I would do next: (1) if the check fails again, read the log: an assertion failure means the timeout was not the cause, so look at the seeded environments rather than raising the number again; (2) if the load theory holds, move the password hash and the server setup out of the tests (beforeAll or a cheaper hash cost for test users), so the file is fast, not just patient. That fits #1242 and fast tests that never flake.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs