Public: anyone can read this; nobody can change it.
Inside an Actions job the gate reads bun's ::group:: file header, so a file red only beside others is run again alone #68
Check · Review · Land · Live — No review yet.
With `GITHUB_ACTIONS=true` (Forgejo's runner sets it too), bun starts each file's tests with `::group::path:` and not `path:`. `failingFiles` (`scripts/shards.ts`) read the marker as part of the path. So the retry-alone ran `::group::test/x.test.ts`, found no file, and cleared nothing. In an Actions job, a file that was red only beside others always failed the gate. The two retry-alone tests in `t…
0 files · +0 −0
waiting checks and the preview wait for a writer to approve this head
Check on trevato-apps/forge: running, as of
Checks and the preview wait for a writer to approve this head
A guest
This pull comes from a guest: its preview runs without the app's variables or a forge token until a person who can write here approves it.
This pull cannot land as it is, whatever its review says, because it changes guarded paths: (the diff) (it could not be read).
With
GITHUB_ACTIONS=true(Forgejo's runner sets it too), bun starts each file's tests with::group::path:and notpath:.failingFiles(scripts/shards.ts) read the marker as part of the path. So the retry-alone ran::group::test/x.test.ts, found no file, and cleared nothing. In an Actions job, a file that was red only beside others always failed the gate. The two retry-alone tests intest/shards.test.tsfailed there too, on every commit,mainincluded. We saw it on a Forgejo runner, bun 1.3.14. bun prints the markers only whenGITHUB_ACTIONS=trueand the caller is not an AI agent, so a local run, or a run by an agent, does not show it.The header pattern now takes an optional
::group::prefix. A new unit test holds a report as a runner logged it.A report without the markers is read as before. Nothing else changes: one regular expression and its comment.
Regression test
test/shards.test.ts, bun 1.3.13, in a scrubbed environment (no agent variables):GITHUB_ACTIONS=true: 70 pass, 0 fail (69 tests and the new unit test).GITHUB_ACTIONS: 70 pass, 0 fail.main9900e4ba,GITHUB_ACTIONS=true: 67 pass, 2 fail: "a failing file is run once more alone > red only beside another file: the shard is green and the tail names it" and "a failing file is run once more alone > red alone too: it stays red". Both expect the tail linefails only beside others: test/fixtures/shard-victim.test.ts ….mainnever prints it, because the report heads that file::group::test/fixtures/shard-victim.test.ts:.GITHUB_ACTIONS=true, withtest/check-list.test.tsandtest/hollow.test.ts: 110 pass, 0 fail across 3 files.bun scripts/gate.tsandtsc --noEmit: clean.🤖 Generated with Claude Code