Skip to content

[automated] Analyze CI Failure opens duplicates when prior-cause context is truncated #19578

Description

@radical

[automated] This report was produced from a read-only investigation of the CI failure-analysis workflow.

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

Analyze CI Failure can create a new ci-failure-cause issue for a flaky test that already has an open canonical issue.

This occurred when Analyze CI Failure run 31204932433 processed CI run 31200870870. The two resulting issues identify the same fully qualified test:

Aspire.Hosting.RemoteHost.Tests.JsonRpcAuthenticationTests.FailedAuthentication_ClosesConnection_AndPreventsFurtherCalls

However, their generated cause IDs differ:

#18840: remotehost-jsonrpc-auth-timeout
#19143: remotehost-jsonrpcauth-rpc-timeout

The workflow loaded 34 prior causes, including the cause linked to #18840. That cause appeared around line 508 of analysis-summary.md, but the agent read only the first 300 lines. It therefore generated a new cause ID.

The publish step reuses issues only through the exact generated cause ID or its exact HTML marker. Because the IDs differed, it could not match open issue #18840 and created #19143.

Expected Behavior

When a flaky-test cause has the same fully qualified test_name as a prior cause, the workflow should reuse the prior cause ID and append the occurrence to its existing issue.

Steps To Reproduce

  1. Populate the memory/ci-failure-analysis branch with enough cause files that the matching prior cause is rendered below the portion of analysis-summary.md read by the agent.
  2. Trigger Analyze CI Failure for another occurrence of that test.
  3. Observe the agent generate a new cause ID because the matching prior cause was not in its read context.
  4. Observe the publish step fail the exact-marker lookup and create a new issue instead of updating the canonical issue.

Exceptions (if any)

N/A

Aspire doctor output

N/A

Anything else?

Relevant logic in .github/workflows/analyze-ci-failure.md:

  • Lines 393–404 render every prior cause into an unbounded final section of analysis-summary.md.
  • Lines 610–670 derive an exact marker from the agent-generated cause ID and search stored/open/closed issues only by that ID or marker.
  • Lines 686–707 update an exact match or create a new issue.
  • Lines 949–959 instruct the agent to reuse a prior cause when test_name matches.

The relevant matching behavior remains on main; the later August 19 edit only pinned action versions.

The same analysis run also generated #19144 instead of reusing #18720 for the existing 0xC0000142 Windows process-initialization cause, providing a second instance of the same failure mode.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area-engineering-systemsinfrastructure helix infra engineering repo stuffautomation-brokenAutomated workflows are brokentriage:bot-seenAspire triage bot has seen this issue

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions