Skip to content

ci: read the unit workers' JUnit reports when the red-main coordinator attributes a failure #3324

Closed

Description

@schlessera

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

  1. added this to the 0.45.0 milestone on Nov 2, 2026
  2. added
    type: fixSomething is broken and must behave the way it is documented.
    area: ciCI workflows, the gates they run, release scripts, packaging.
    priority: p1Scheduled into the current or next milestone.
    agent-readyContext and acceptance criteria are complete enough for an agent to take this unattended.
    on Nov 2, 2026
  3. self-assigned this
    on Nov 2, 2026
  4. added a commit that references this issue on Nov 2, 2026
    5452334
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

agent-readyContext and acceptance criteria are complete enough for an agent to take this unattended.area: ciCI workflows, the gates they run, release scripts, packaging.priority: p1Scheduled into the current or next milestone.type: fixSomething is broken and must behave the way it is documented.

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions