You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: read the unit workers' JUnit reports when the red-main coordinator attributes a failure #3324
Part of #2934. Found on the first live red main, incident #3315.
Problem
For a failed unit shard, the red-main coordinator reads unit-report.xml from the unit-proof-<n> artifact (runFailures, scripts/red-main-coordinator.ts:75-82). The hosted unit jobs never write a file by that name. The artifact holds one report per worker, tmp/unit-worker-<k>-report.xml. So the coordinator finds no report, and every unit failure is recorded with test: null. Per-test classification never happens: a prior suspect, the closure check on a single test, and the flake probe of one file.
Evidence: main run 41488767631. unit-proof-1 contains unit-worker-1-report.xml and unit-worker-2-report.xml. Given the second file, junitFailures returns [{"test":"packages/ui-react/tests/artifact-recovery-runtime.test.ts","signature":"assertion"}]. The record still reads {"test":null,"category":"unit",...}.
The coordinator tests passed because their fake artifact used the assumed name.
Acceptance criteria
The coordinator reads every unit-worker-<k>-report.xml in the shard's artifact, and still reads unit-report.xml if a job writes one.
A coordinator test builds its fake artifact from the real layout (tmp/unit-worker-1-report.xml, tmp/unit-worker-2-report.xml) and asserts that the failing test file is recorded.
Mutation receipt: restoring the single unit-report.xml lookup fails that test.
Activity
fix(ci): read the unit workers' JUnit reports when attributing a red-…