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

"apps: production, previews, data, gates > require_checks holds the merge until the head's deploy is green" passes every time on a loaded check machine #5204

Closed opened this has it
opened this

Intent: apps: production, previews, data, gates > require_checks holds the merge until the head's deploy is green in test/apps.test.ts goes red in pulls that never touch it (pull #5188), so good work is parked and the board shows red noise.

Done:

  • [ ] the pull names the cause (wall clock, a real sleep, a shared port or directory, a fake clock mixed with Date.now(), a budget measured end to end instead of in the code it guards)
  • [ ] bun test --rerun-each 30 test/apps.test.ts passes, and also passes with other test files running beside it (bun test test/apps.test.ts test/apps.test.ts). The pull says how it was checked
  • [ ] the test still fails when the behaviour it guards is broken; what it promises about the product is unchanged. A time or resource budget may only move to what the code itself spends, never just get wider

Files: test/apps.test.ts; the source only if the flake is a real race there (then the pull says so). Hint: a deploy finishing between the test's push and its merge attempt; hold the deploy explicitly until the test asserts the merge is held.

commented

Split into #5277 (the red half: merge refused, preview still answers) and #5278 (the green half: the merge waits for the fixed head's deploy). It hit its daily run cap as one piece. The fresh issues move each half into its own test file, wait on the deploy for the exact commit and never on a sleep or a "latest" read, and the green one holds the deploy explicitly until it has asserted the merge is held.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs