Skip to content

Revert "[release/9.0] Fix intermediate artifact upload collisions for NativeAOT and Mono" - #125829

Merged
hoyosjs merged 1 commit into
release/9.0from
revert-125564-fix/intermediate-artifact-collision
Mar 20, 2026
Merged

Revert "[release/9.0] Fix intermediate artifact upload collisions for NativeAOT and Mono"#125829
hoyosjs merged 1 commit into
release/9.0from
revert-125564-fix/intermediate-artifact-collision

Conversation

@steveisok

Copy link
Copy Markdown
Member

Reverts #125564

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reverts the prior change that made NativeAOT/Mono intermediate artifact upload paths job-specific, returning to a single shared intermediate-artifacts subdirectory for those builds in runtime-official.yml.

Changes:

  • Revert NativeAOT intermediate artifact subdirectory name back to NativeAOTRuntimePacks (non-matrix-qualified).
  • Revert Mono intermediate artifact subdirectory name back to MonoRuntimePacks for multiple Mono matrix jobs/variants.
  • Update workload package download patterns to target IntermediateArtifacts/MonoRuntimePacks/... (no wildcard), with one duplicated pattern entry introduced.

Comment on lines 300 to +303
postBuildSteps:
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
parameters:
name: NativeAOTRuntimePacks_$(osGroup)$(osSubgroup)_$(archType)
name: NativeAOTRuntimePacks

CopilotAIMar 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upload-intermediate-artifacts-step.yml publishes everything under $(Build.StagingDirectory)/IntermediateArtifacts/${{ parameters.name }} into the shared IntermediateArtifacts pipeline artifact. In this platform-matrix (many platforms/jobs), using a constant name: NativeAOTRuntimePacks means multiple jobs will publish into the same artifact subdirectory, which can overwrite/lose files (and was previously avoided by including $(osGroup)$(osSubgroup)_$(archType)). Consider restoring a job-unique suffix (e.g., include $(osGroup)$(osSubgroup)_$(archType) and/or the matrix variant) so each job publishes to its own subfolder.

Copilot uses AI. Check for mistakes.
Comment on lines 344 to +347
postBuildSteps:
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
parameters:
name: MonoRuntimePacks_$(osGroup)$(osSubgroup)_$(archType)
name: MonoRuntimePacks

CopilotAIMar 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple Mono platform-matrix jobs (regular, wasm/wasi, multithread, crossaot, llvmaot) all call upload-intermediate-artifacts-step.yml. With name: MonoRuntimePacks shared across these jobs, they will publish into the same IntermediateArtifacts/MonoRuntimePacks subdirectory, making artifact contents dependent on upload order and risking overwrites. Reintroduce a unique name per job (e.g., MonoRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) and/or include $(runtimeVariant) / $(nameSuffix)) to keep outputs isolated.

Copilot uses AI. Check for mistakes.
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.ios-*.nupkg
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.iossimulator-*.nupkg
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.maccatalyst-*.nupkg
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg

CopilotAIMar 20, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DownloadPipelineArtifact patterns list includes Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg twice (lines 631 and 635). This is redundant and can lead to duplicate copies/overwrites during the subsequent flatten step; remove the duplicate entry.

Suggested change
IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg

Copilot uses AI. Check for mistakes.
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival
See info in area-owners.md if you want to be subscribed.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@hoyosjs