Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:2tjvz6oza2 is past its budget: trevato/forge: "fork at the origin, and propose a change through it > push rights mean the plain editor, not a fork" fa… #4261
Check · Review · Land · Live done — Landed and live in production.
The flaky test "push rights mean the plain editor, not a fork" now has a 60-second timeout instead of bun's 5-second default. This is a best guess at the cause: I couldn't reproduce the failure, and I didn't check the failing pulls' logs.
shipped production is serving it deploy 96492c1
The flaky test "push rights mean the plain editor, not a fork" now has a 60-second timeout instead of bun's 5-second default. This is a best guess at the cause: I couldn't reproduce the failure, and I didn't check the failing pulls' logs.
The test does a real git mirror job before it asserts anything. I think that is what runs past 5 seconds on a loaded check machine. Run alone, the test takes about 0.9 seconds and passes. The whole test/web-workflows.test.ts file passes too (23 tests).
The change is in test/web-workflows.test.ts. I put the new MIRROR_MS = 60_000 timeout on five tests that wait on a mirror or fork job: fork lands on the job, forking again, proposing, a refused proposal, and the two push-rights tests. The other two ("a mirror of a repository you cannot push to proposes instead" and "proposing forks, branches on the fork…") were not on the sentinel's list, but they have the same exposure. No assertions changed.
I didn't make settled in src/origins/jobs.ts time out. A job that never finishes would still hang until the test timeout.
To check it, run bun test test/web-workflows.test.ts, then watch whether shared:01m23vygyffx5hg2f5vm8r74sr:2tjvz6oza2 leaves the degraded list after the next green check on main.
Test-only change; no product surface, so nothing to try in the preview. One fix first: the new MIRROR_MS constant sits between the JSDoc of words and words itself, so the doc comment now documents a timeout constant and words loses its comment. Move the constant above that JSDoc block (or below words) and make it a /** */ line saying what it is. Also worth stating in the pull: the 60 s cause is a guess (not reproduced, logs not read), so if the sentinel still flags this test after the next green main, look at the mirror job time rather than raising the number again.
This pull gives the flaky test "push rights mean the plain editor, not a fork" a 60-second timeout instead of bun's 5-second default. It is a test-only change, so there is nothing to try in the preview.
The cause is a guess. I didn't reproduce the failure and I didn't read the failing pulls' logs. The test starts a real git mirror job and waits for it, and I think a loaded check machine pushes that wait past 5 seconds. Run alone, the test takes about 0.9 seconds, and the whole test/web-workflows.test.ts file passes (23 tests).
- Review fix:
MIRROR_MShad landed between the doc comment onwordsandwordsitself, sowordslost its comment. It now sits above that comment with its own one-line/** */doc, andwordshas its doc back. - Scope: the timeout is on five tests that wait on a mirror or fork job, in
test/web-workflows.test.ts. Two of them, the proposal and the can't-push mirror tests, weren't in the sentinel's report but have the same exposure. - Not changed: no assertions, and
settledinsrc/origins/jobs.tsstill has no timeout of its own. - If it recurs: if the sentinel flags this test again after the next green main, look at how long the mirror job takes rather than raising the number again.
Test-only change: a named MIRROR_MS (60 s) timeout on the five tests that wait on a mirror/fork job, with its own doc comment, and no assertion changed. No user-facing surface, so nothing to break on a phone, keyboard or no-JS path; the stability priority (a flaky check interrupting the merge queue) is served. Two things I would do next: (1) the cause is a guess, so if the sentinel flags this test again, log how long the mirror job actually takes instead of raising the number; (2) give settled in src/origins/jobs.ts its own deadline so a job that never finishes fails with a message naming the job rather than waiting for the test timeout.
The new message on #4233 is an automatic triage note that files the issue under P0 Trust. It asks for nothing new, so I made no code change and pushed nothing.
The branch already has the fix and the review fix for #4261. The fix is a 60-second timeout on the five mirror and fork tests in test/web-workflows.test.ts. The review fix moved the MIRROR_MS doc comment off words. The whole file passed when I last ran it (23 tests).
The cause is still a guess. I didn't reproduce the failure or read the failing pulls' logs. If the sentinel flags "push rights mean the plain editor, not a fork" again after the next green main, look at how long the mirror job takes rather than raising the number again.
I merged main into the branch and pushed. The conflict is gone, and the branch now has no difference from main in the test file.
main already fixed this flake (#4232): it gave the same mirror and fork tests a 60-second JOB_TIMEOUT_MS. That is the same change as my MIRROR_MS, so I took main's version of test/web-workflows.test.ts and dropped mine. test/web-workflows.test.ts passes (23 tests).
That leaves this pull with no net change. #4232 is the real fix, and a person may prefer to close this pull rather than merge it. The sentinel's cause is not confirmed fixed yet. If it still flags "push rights mean the plain editor, not a fork" after the next green main, look at how long the mirror job takes rather than raising the timeout again.
The flaky test "push rights mean the plain editor, not a fork" now has a 60-second timeout instead of bun's 5-second default. This is a best guess at the cause: I couldn't reproduce the failure, and I didn't check the failing pulls' logs.
The test does a real git mirror job before it asserts anything. I think that is what runs past 5 seconds on a loaded check machine. Run alone, the test takes about 0.9 seconds and passes. The whole
test/web-workflows.test.tsfile passes too (23 tests).The change is in
test/web-workflows.test.ts. I put the newMIRROR_MS = 60_000timeout on five tests that wait on a mirror or fork job: fork lands on the job, forking again, proposing, a refused proposal, and the two push-rights tests. The other two ("a mirror of a repository you cannot push to proposes instead" and "proposing forks, branches on the fork…") were not on the sentinel's list, but they have the same exposure. No assertions changed.I didn't make
settledinsrc/origins/jobs.tstime out. A job that never finishes would still hang until the test timeout.To check it, run
bun test test/web-workflows.test.ts, then watch whethershared:01m23vygyffx5hg2f5vm8r74sr:2tjvz6oza2leaves the degraded list after the next green check on main.Closes #4233