Skip to content

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

Merged
hoyosjs merged 1 commit intorelease/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 intorelease/9.0from
revert-125564-fix/intermediate-artifact-collision

Conversation

@steveisok
Copy link
Member

Reverts #125564

Copy link
Contributor

Copilot AI left a comment

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
Copy link

Copilot AI Mar 20, 2026

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
Copy link

Copilot AI Mar 20, 2026

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
Copy link

Copilot AI Mar 20, 2026

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
Contributor

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

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants