flaky: web guards.spec.tsx GuestGuard pending-session test times out under CI concurrency (blocks unrelated PRs) #1448

Open
opened 2026-08-27 04:06:30 +00:00 by fred · 0 comments
Collaborator

Observed

Pipelines 2862 (PR #1440, docs-only) and 2863 (PR #1447, Dockerfile + scripts COPY) both failed at the `test` step with the SAME single failure:

```
FAIL src/spa/guards.spec.tsx > GuestGuard > renders the guest outlet while session lookup is pending
Error: Test timed out in 5000ms. (reported elapsed: 7722ms)
```

All other steps green; 40/45 turbo tasks successful, only `web#test` failed, identically in both runs. Neither PR touches `apps/web` or anything it depends on.

Assessment

Load-related flake: 5 pipelines were running concurrently on the runner when both failed (2862, 2863, 2865, 2866 + one more). Consistent with #1349 (CI node runs jobs at ~31x local under concurrency): a 5000ms vitest timeout on a render-while-pending test does not survive that slowdown.

Measured: the identical failure in two unrelated PR pipelines. Not measured: failure rate on an idle runner, or whether the test is timing-sensitive absent load.

Impact

Blocks merges of unrelated PRs (test is in the required PR gate). #1447's pipeline was re-run as 2867 to clear it.

Options

  1. Raise the per-test timeout for this spec (or the web suite) to survive CI concurrency.
  2. Fix the test to await the pending state deterministically instead of racing a timer.
  3. Fold into the #1349 concurrency remediation.

Related: #1349.

## Observed Pipelines 2862 (PR #1440, docs-only) and 2863 (PR #1447, Dockerfile + scripts COPY) both failed at the \`test\` step with the SAME single failure: \`\`\` FAIL src/spa/guards.spec.tsx > GuestGuard > renders the guest outlet while session lookup is pending Error: Test timed out in 5000ms. (reported elapsed: 7722ms) \`\`\` All other steps green; 40/45 turbo tasks successful, only \`web#test\` failed, identically in both runs. Neither PR touches \`apps/web\` or anything it depends on. ## Assessment Load-related flake: 5 pipelines were running concurrently on the runner when both failed (2862, 2863, 2865, 2866 + one more). Consistent with #1349 (CI node runs jobs at ~31x local under concurrency): a 5000ms vitest timeout on a render-while-pending test does not survive that slowdown. Measured: the identical failure in two unrelated PR pipelines. Not measured: failure rate on an idle runner, or whether the test is timing-sensitive absent load. ## Impact Blocks merges of unrelated PRs (test is in the required PR gate). #1447's pipeline was re-run as 2867 to clear it. ## Options 1. Raise the per-test timeout for this spec (or the web suite) to survive CI concurrency. 2. Fix the test to await the pending state deterministically instead of racing a timer. 3. Fold into the #1349 concurrency remediation. Related: #1349.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1448