From 4b7cc435887b3c852fc8d86c97cd7416a3a6962e Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 16 May 2022 18:11:47 -0400 Subject: [PATCH] [release/6.0] Add windows runtime packs as a workload (#69393) Backport of https://github.com/dotnet/runtime/pull/68981 At certain points in time internally, the sdk will rev its version and insert into VS. It's at this point the sdk version will be ahead of the runtime version as we have not published anything into nuget. In MAUI and WinUI scenarios, this creates a bit of a pickle as the sdk will try to download a new version of the windows runtime pack, but it will not be available. To get around this limitation, we are introducing a workload that will be inserted into VS where you can optionally install Windows runtime packs. Co-authored-by: Steve Pfister --- .../mono/templates/workloads-build.yml | 4 +++ eng/pipelines/runtime-official.yml | 4 +++ .../WorkloadManifest.json.in | 25 +++++++++++++++++++ src/workloads/workloads.csproj | 3 +++ 4 files changed, 36 insertions(+) diff --git a/eng/pipelines/mono/templates/workloads-build.yml b/eng/pipelines/mono/templates/workloads-build.yml index 3071edef69173..f213f3c3bd1f6 100644 --- a/eng/pipelines/mono/templates/workloads-build.yml +++ b/eng/pipelines/mono/templates/workloads-build.yml @@ -65,6 +65,10 @@ jobs: 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/windows_arm/Shipping/Microsoft.NETCore.App.Runtime.win-arm*.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 - task: CopyFiles@2 displayName: Flatten packages diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index 8dd4071476ea3..c353dfa095666 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -426,6 +426,10 @@ stages: - Build_tvOSSimulator_arm64_release_AllSubsets_Mono - Build_tvOSSimulator_x64_release_AllSubsets_Mono - Build_Windows_x64_release_CrossAOT_Mono + - installer__coreclr__windows_x64_Release_ + - installer__coreclr__windows_x86_Release_ + - installer__coreclr__windows_arm_Release_ + - installer__coreclr__windows_arm64_Release_ - ${{ if eq(variables.isOfficialBuild, true) }}: - template: /eng/pipelines/official/stages/publish.yml diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in index e34ff6d173b85..ecf64bd288dee 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in @@ -118,6 +118,15 @@ "extends": [ "microsoft-net-runtime-mono-tooling" ], "platforms": [ "win-x64", "osx-arm64", "osx-x64" ] }, + "runtimes-windows": { + "description": "Windows Runtime Packs", + "packs": [ + "Microsoft.NETCore.App.Runtime.win-x64", + "Microsoft.NETCore.App.Runtime.win-x86", + "Microsoft.NETCore.App.Runtime.win-arm", + "Microsoft.NETCore.App.Runtime.win-arm64" + ] + }, "microsoft-net-runtime-mono-tooling": { "abstract": true, "description": "Shared native build tooling for Mono runtime", @@ -346,5 +355,21 @@ "kind": "framework", "version": "${PackageVersion}" }, + "Microsoft.NETCore.App.Runtime.win-x64" : { + "kind": "framework", + "version": "${PackageVersion}" + }, + "Microsoft.NETCore.App.Runtime.win-x86" : { + "kind": "framework", + "version": "${PackageVersion}" + }, + "Microsoft.NETCore.App.Runtime.win-arm" : { + "kind": "framework", + "version": "${PackageVersion}" + }, + "Microsoft.NETCore.App.Runtime.win-arm64" : { + "kind": "framework", + "version": "${PackageVersion}" + } } } diff --git a/src/workloads/workloads.csproj b/src/workloads/workloads.csproj index f64d641604674..8ecc2de9c3dae 100644 --- a/src/workloads/workloads.csproj +++ b/src/workloads/workloads.csproj @@ -72,6 +72,8 @@ Description=".NET runtime components for tvOS execution."/> + @@ -85,6 +87,7 @@ +