dotnet / dotnet/sdk

[AI discovered CI] GivenDotnetStoreInvocation assertion fails on expected MSBuild arguments

Open
#56,288 1 comment 1 reaction 2 assignees Claimed by @nagilson View on GitHub
agentic-workflows cookie Known Build Error live-build-incident Test Debt untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

## Build Information
- **Current build:** [dotnet-sdk-public-ci 20260914.4](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=1595302)
- **Branch:** `refs/heads/main`
- **Failing test:** `Microsoft.DotNet.Cli.MSBuild.Tests.GivenDotnetStoreInvocation.ItAddsOutputPathToMsBuildInvocation` in work item `dotnet.Tests.dll.3`, Mac arm64 (`osx.15.arm64.open`)
- **Phase:** `test-execution`
- **Failure type:** `test-assertion`
- **Evidence sources:** `helix-trx`
- **Matching prior build:** [dotnet-sdk-public-ci 20260911.39](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=1593135)
- **Failure fingerprint:** `test-execution|test-assertion|microsoft.dotnet.cli.msbuild.tests.givendotnetstoreinvocation.itaddsoutputpathtomsbuildinvocation|test-method-microsoft.dotnet.cli.msbuild.tests.givendotnetstoreinvocation.itaddsoutputpathtomsbuildinvocation-threw-exception-fluentassertions.execution.assertionfailedexception-ex`

## Failure History
The same test and assertion mechanism failed in the current build and in the independent `20260911.39` main-branch build. The supplied recent sequence is: failed `20260914.4`, passed `20260913.5`, failed `20260912.2`, failed `20260911.39`, passed `20260911.34`. The recurrence establishes a repeated build error pattern; it does not by itself establish whether the implementation or the expectation is incorrect.

## Error Details
Exact observation from the current Helix TRX:

```
Expected subject to be a collection with 8 item(s), but {"-maxcpucount", "--verbosity:m", "-tlp:default=auto", "--property:ComposeDir= "--property:_CommandLineDefinedOutputPath=true", "--target:ComposeStore", "--nologo", "", "-tlp:DISABLENODEDISPLAY"}
```

The current test summary reports 352 total, 327 executed, 325 passed, and 2 failed.

## Root Cause Analysis
**Observed:** The test compares the generated MSBuild invocation with an eight-item expected collection, but the observed invocation contains an additional `-tlp:DISABLENODEDISPLAY` argument and therefore fails collection equivalency.

**Assessment:** The proximate cause is a mismatch between the test expectation and the command-line arguments emitted or normalized by the SDK/MSBuild invocation path. The supplied evidence does not establish whether the extra terminal-logging argument is an intentional product change, an environment-specific behavior, or a test defect. The generic Helix monitor failure is a downstream consequence, not the cause.

**Confidence:** High that the reported assertion is a recurring known build error; Low for the underlying implementation-versus-test cause.

**Alternatives / Unknowns:** The dossier does not include the changed files for the builds, target-branch comparison, source diff, or a binlog. It is unknown whether `-tlp:DISABLENODEDISPLAY` is expected on all platforms or only on this test environment, and whether the two failures in the current work item share one recent change.

## Suggested Investigation
First compare the expected argument arrays and invocation construction in `test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetStoreInvocation.cs` with the current MSBuild argument normalization, specifically the source of `-tlp:DISABLENODEDISPLAY`. Then inspect a binlog or captured invocation from a passing and failing Mac run and correlate the first build containing the extra argument with changed files. Update the test expectation only if the argument is an intentional, cross-platform contract; otherwise fix the argument-generation or filtering path.

## Error Message
{"ErrorMessage":["Microsoft.DotNet.Cli.MSBuild.Tests.GivenDotnetStoreInvocation.ItAddsOutputPathToMsBuildInvocation","FluentAssertions.Execution.AssertionFailedException"],"BuildRetry":false,"ExcludeConsoleLog":false}

> Generated by [🕵️ CI Quality Investigator](https://github.com/dotnet/sdk/actions/runs/34833140637) · gpt56 · 1.33 AIC · ⌖ 0.569 AIC · ⊞ 33K · [◷](https://github.com/search?q=repo%3Adotnet%2Fsdk+is%3Aissue+%22gh-aw-workflow-call-id%3A+dotnet%2Fsdk%2Fci-quality-monitor%22&type=issues)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.