Uh oh!
There was an error while loading. Please reload this page.
Report artifact post-processing input provenance - #10463
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6a2a6bc6-4930-45db-8389-760216a6348d
There was a problem hiding this comment.
Pull request overview
Adds per-output artifact provenance to resolve incorrect artifact collapsing tracked by dotnet/sdk#55555.
Changes:
- Adds and serializes
InputArtifactPathsas field ID 8. - Reports exact manifest inputs for each processed artifact.
- Adds compatibility, routing, and acceptance coverage plus protocol documentation.
Show a summary per file
| File | Description |
|---|---|
ProtocolTests.cs | Tests provenance round-tripping. |
ProtocolEdgeCaseTests.cs | Tests absent and unknown fields. |
DotnetTestProtocolSerializerTests.cs | Pins field ID 8 and shared serialization. |
DotnetTestPipeProtocol.cs | Decodes provenance in acceptance tests. |
DotnetTestPipeArtifactPostProcessingTests.cs | Tests disjoint outputs and legacy readers. |
FileArtifactMessagesSerializer.cs | Serializes provenance paths. |
ObjectFieldIds.cs | Defines field ID 8. |
FileArtifactMessages.cs | Adds the provenance model property. |
InternalAPI.Unshipped.txt | Tracks the platform internal API changes. |
IArtifactPostProcessor.cs | Documents all-input output semantics. |
ArtifactPostProcessingDispatcherTool.cs | Attaches matched inputs to outputs. |
018-Artifact-Post-Processing.md | Updates the post-processing RFC. |
004-protocol-dotnet-test-pipe.md | Documents the additive wire field. |
Review details
- Files reviewed: 13/13 changed files
- Comments generated: 2
- Review effort level: Balanced
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6a2a6bc6-4930-45db-8389-760216a6348d
🧵 Parallel-safety audit — PR #10463Parallelization — assemblies containing the changed test files:
No Findings: A (global-state) Analysis:
Nothing in this diff falls into categories A–D. Scope is Advisory only — heuristic, non-blocking. Re-run with
|
🧪 Test quality grade — PR #10463Graded 8 new/modified test methods across 3 files, all covering the new
This advisory comment was generated automatically. Grades are heuristic
|
Uh oh!
There was an error while loading. Please reload this page.
Summary
FileArtifactMessage.InputArtifactPathsfield ID 8 to report the exact manifest inputs represented by each processed artifactProcessedArtifactresults as representing every supplied input.xmlcollision from MTP artifact post-processing: a merged artifact can unlist unrelated artifacts sharing its extension dotnet/sdk#55555Compatibility
This remains an additive field on serializer ID 7. Older readers skip it, newer readers treat its absence as an old-host response, and no protocol-version bump or handshake capability is required.
A follow-up SDK change is still required to vendor field 8 and remove only provenance paths that intersect the dispatched job's manifest. Relates to dotnet/sdk#55555.
Testing
./build.cmd -pack -blnet462,net8.0, andnet9.0net462,net8.0, andnet9.0net11.0