From 90908c32ced93f6490d7c110f5848a71e0309c19 Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Sat, 14 Mar 2026 14:29:39 -0500 Subject: [PATCH 1/2] Fix intermediate artifact upload collisions for NativeAOT and Mono Multiple platform jobs upload to the same IntermediateArtifacts subdirectory (NativeAOTRuntimePacks or MonoRuntimePacks), causing concurrent write conflicts when arch-independent packages like Microsoft.NETCore.App.Ref are uploaded simultaneously by different platform jobs. Fix by making each upload name unique per platform, matching the pattern already used by CoreCLR ($(osGroup)$(osSubgroup)_$(archType)): - NativeAOT: NativeAOTRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) - Mono: MonoRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) - Mono multithread: MonoRuntimePacks_multithread_$(osGroup)$(osSubgroup)_$(archType) - CrossAOT: MonoRuntimePacks_crossaot_$(osGroup)$(osSubgroup)_$(archType) - LLVM AOT: MonoRuntimePacks_llvmaot_$(osGroup)$(osSubgroup)_$(archType) Updated Workloads download patterns to use MonoRuntimePacks* wildcard to match all per-platform subdirectories. Fixes #125561 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/pipelines/runtime-official.yml | 68 +++++++++++++++--------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index 22375d5c37c81a..124277e671791b 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -300,7 +300,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: NativeAOTRuntimePacks + name: NativeAOTRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) # # Build Mono runtime packs @@ -344,7 +344,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -362,7 +362,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_$(osGroup)$(osSubgroup)_$(archType) - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -380,7 +380,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_multithread_$(osGroup)$(osSubgroup)_$(archType) # Build Mono AOT offset headers once, for consumption elsewhere # @@ -452,7 +452,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_crossaot_$(osGroup)$(osSubgroup)_$(archType) - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -480,7 +480,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_crossaot_$(osGroup)$(osSubgroup)_$(archType) - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -514,7 +514,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_crossaot_$(osGroup)$(osSubgroup)_$(archType) # # Build Mono LLVM runtime packs @@ -546,7 +546,7 @@ extends: postBuildSteps: - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml parameters: - name: MonoRuntimePacks + name: MonoRuntimePacks_llvmaot_$(osGroup)$(osSubgroup)_$(archType) # # Build libraries AllConfigurations for packages @@ -620,35 +620,35 @@ extends: artifact: 'IntermediateArtifacts' path: $(Build.SourcesDirectory)/artifacts/workloadPackages patterns: | - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.android-*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg - 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 - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.wasi-wasm*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoTargets.Sdk*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoAOTCompiler.Task*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Sdk*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Wasi*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Templates*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.android-*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg + 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 + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.wasi-wasm*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Runtime.MonoTargets.Sdk*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Runtime.MonoAOTCompiler.Task*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Runtime.WebAssembly.Sdk*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Runtime.WebAssembly.Wasi*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Runtime.WebAssembly.Templates*.nupkg IntermediateArtifacts/windows_arm64/Shipping/Microsoft.NETCore.App.Runtime.win-arm64*.nupkg IntermediateArtifacts/windows_x64/Shipping/Microsoft.NETCore.App.Runtime.win-x64*.nupkg IntermediateArtifacts/windows_x86/Shipping/Microsoft.NETCore.App.Runtime.win-x86*.nupkg - IntermediateArtifacts/MonoRuntimePacks/Shipping/Microsoft.NET.Sdk.WebAssembly.Pack*.nupkg + IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NET.Sdk.WebAssembly.Pack*.nupkg - task: CopyFiles@2 displayName: Flatten packages From 75f8a5815ca57d8ddff2b3df45c37d21f279554d Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Sat, 14 Mar 2026 14:39:13 -0500 Subject: [PATCH 2/2] Remove duplicate multithread.browser-wasm download pattern Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/pipelines/runtime-official.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index 124277e671791b..b95ff0f2ceda1e 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -632,7 +632,6 @@ extends: 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 IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg IntermediateArtifacts/MonoRuntimePacks*/Shipping/Microsoft.NETCore.App.Runtime.Mono.wasi-wasm*.nupkg