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

opened this view on origin

Check · Review · Land · Live — No review yet. Next: reviewer, no review yet.

Merges on the origin

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).

opened this view on origin

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 test/shards.test.ts failed there too, on every commit, main included. We saw it on a Forgejo runner, bun 1.3.14. bun prints the markers only when GITHUB_ACTIONS=true and 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):

  • This branch, GITHUB_ACTIONS=true: 70 pass, 0 fail (69 tests and the new unit test).
  • This branch, without GITHUB_ACTIONS: 70 pass, 0 fail.
  • main 9900e4ba, 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 line fails only beside others: test/fixtures/shard-victim.test.ts …. main never prints it, because the report heads that file ::group::test/fixtures/shard-victim.test.ts:.
  • This branch, GITHUB_ACTIONS=true, with test/check-list.test.ts and test/hollow.test.ts: 110 pass, 0 fail across 3 files.
  • bun scripts/gate.ts and tsc --noEmit: clean.

🤖 Generated with Claude Code

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs