Merge branch 'release/8.0.1xx' into marcpopMSFT-addnewlines

This commit is contained in:
Marc Paine 2024-06-19 15:35:24 -07:00 committed by GitHub
commit ced92df301
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 996 additions and 295 deletions

View file

@ -65,7 +65,7 @@ extends:
ubuntu2204:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
mariner20CrossArm:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:mariner-2.0-cross-arm
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
ubuntu2204DebPkg:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
sdl:
@ -73,6 +73,9 @@ extends:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
componentgovernance:
ignoreDirectories: artifacts, .packages
# Temporary to workaround MicroBuild issues.
credscan:
enabled: false
@ -329,53 +332,6 @@ extends:
buildArchitecture: arm64
runTests: false
# Windows PGO Instrumentation builds
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Linux PGO Instrumentation builds
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
linuxPortable: true
runTests: false
# Source Build
- template: /eng/common/templates-official/jobs/source-build.yml@self

View file

@ -201,7 +201,7 @@ stages:
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:mariner-2.0-cross-arm'
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine'
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-musl-arm'

View file

@ -5,46 +5,46 @@
Source-build uses transitive dependency resolution to determine correct build SHA of all product contributing repos.
The order of dependencies is important and should not be modified without approval from dotnet/source-build-internal.
-->
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>04094d116496e0bd1d376fd346397ec7900141f8</Sha>
<Sha>dda23bbe00c4a4bfdd3732783f0cce37c11a4f40</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.4-servicing.24169.24" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.5-servicing.24217.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>04094d116496e0bd1d376fd346397ec7900141f8</Sha>
<Sha>dda23bbe00c4a4bfdd3732783f0cce37c11a4f40</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.4-servicing.24169.24" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.5-servicing.24217.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>04094d116496e0bd1d376fd346397ec7900141f8</Sha>
<Sha>dda23bbe00c4a4bfdd3732783f0cce37c11a4f40</Sha>
</Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>04094d116496e0bd1d376fd346397ec7900141f8</Sha>
<Sha>dda23bbe00c4a4bfdd3732783f0cce37c11a4f40</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.4-servicing.24169.9" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.5-servicing.24216.15" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
<SourceBuild RepoName="runtime" ManagedOnly="false" />
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.4-servicing.24169.9" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.5-servicing.24216.15" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<!-- Change blob version in GenerateLayout.targets if this is unpinned to service targeting pack -->
<!-- No new netstandard.library planned for 3.1 timeframe at this time. -->
@ -52,55 +52,55 @@
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.4-servicing.24169.9" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.5-servicing.24216.15" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.4-servicing.24170.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.5-servicing.24224.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
<SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.4-servicing.24170.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.5-servicing.24224.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="dotnet-dev-certs" Version="8.0.4-servicing.24170.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-dev-certs" Version="8.0.5-servicing.24224.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="dotnet-user-jwts" Version="8.0.4-servicing.24170.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-jwts" Version="8.0.5-servicing.24224.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="dotnet-user-secrets" Version="8.0.4-servicing.24170.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-secrets" Version="8.0.5-servicing.24224.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>8486d31e24f30e3fa1809a95699a0adc16f448d7</Sha>
<Sha>c9e3996173cec136bc2e9f3b4ec45f2a323b1d63</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.104">
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.105">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri>
<Sha>88e8f6129d6e8bb551a121f7969a5e0f33eb6881</Sha>
<Sha>ecfb8a05aeaa93057ae0003d406280239b2c4c7b</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.104-servicing.24170.24">
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.105-servicing.24224.15">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri>
<Sha>88e8f6129d6e8bb551a121f7969a5e0f33eb6881</Sha>
<Sha>ecfb8a05aeaa93057ae0003d406280239b2c4c7b</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.104-servicing.24170.24">
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.105-servicing.24224.15">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri>
<Sha>88e8f6129d6e8bb551a121f7969a5e0f33eb6881</Sha>
<Sha>ecfb8a05aeaa93057ae0003d406280239b2c4c7b</Sha>
<SourceBuild RepoName="sdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.104-servicing.24170.24">
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.105-servicing.24224.15">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri>
<Sha>88e8f6129d6e8bb551a121f7969a5e0f33eb6881</Sha>
<Sha>ecfb8a05aeaa93057ae0003d406280239b2c4c7b</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22406.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
@ -124,13 +124,13 @@
<Sha>1e5f3603af2277910aad946736ee23283e7f3e16</Sha>
</Dependency>
<!-- For coherency purposes, these versions should be gated by the versions of winforms and wpf routed via windowsdesktop -->
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="8.0.4-servicing.24169.11" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="8.0.5-servicing.24217.4" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-winforms</Uri>
<Sha>41a4bd690229661e3ec74276ce3f93863b22435b</Sha>
<Sha>6c37c986b6c8fc0669b38a03a03445a75b8227a6</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.4-servicing.24169.10" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.5-servicing.24217.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-wpf</Uri>
<Sha>ebbf01f54996755566db36e2e962ba6364da2ecc</Sha>
<Sha>b5af29a8f41f880f38fd015c6bcb7aeb816fcef6</Sha>
</Dependency>
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.102-beta.24081.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
@ -146,9 +146,9 @@
<Sha>aa59400b11e1aeee2e8af48928dbd48748a8bef9</Sha>
<SourceBuild RepoName="vstest" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="8.0.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="8.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2d7eea252964e69be94cb9c847b371b23e4dd470</Sha>
<Sha>087e15321bb712ef6fe8b0ba6f8bd12facf92629</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.8.0-7.24067.24" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri>
@ -159,6 +159,11 @@
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>b5265ef370a651f8c3458110b804e5cbf869eeb5</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.8.5-preview-24055-02">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>b5265ef370a651f8c3458110b804e5cbf869eeb5</Sha>
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="NuGet.Build.Tasks" Version="6.8.1-rc.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted</Uri>
<Sha>550277e0616e549446f03fda35d3e23dff75dc01</Sha>
@ -168,18 +173,18 @@
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100" Version="8.0.4" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100" Version="8.0.5" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>08a90ca2c88b17f1b5d081318354a41db0882cff</Sha>
<Sha>71359b18c2d83c01a68bf155244a65962a7e8c8e</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-8.0.100" Version="8.0.0-preview.1.23557.2">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspire</Uri>
<Sha>48e42f59d64d84b404e904996a9ed61f2a17a569</Sha>
<SourceBuild RepoName="aspire" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.emsdk" Version="8.0.4-servicing.24163.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Dependency Name="Microsoft.SourceBuild.Intermediate.emsdk" Version="8.0.5-servicing.24211.3" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>08a90ca2c88b17f1b5d081318354a41db0882cff</Sha>
<Sha>71359b18c2d83c01a68bf155244a65962a7e8c8e</Sha>
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="2.0.0-preview.1.23463.1" CoherentParentDependency="Microsoft.NET.Sdk">
@ -193,9 +198,9 @@
<Sha>5957c5c5f85f17c145e7fab4ece37ad6aafcded9</Sha>
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.24216.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.24269.1">
<Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>908177a58a41532b3302c17f1e1a8cf1c1234545</Sha>
<Sha>4f2151df120194f0268944f1b723c14820738fc8</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.1.0-beta.23253.1">
@ -214,18 +219,18 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.24266.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.24266.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.24266.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.23578.2">
<Uri>https://github.com/dotnet/arcade-services</Uri>
@ -239,9 +244,9 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>af841c8b33cecc92d74222298f1e45bf7bf3d90a</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.24163.3">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.24257.2">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>79827eed138fd2575a8b24820b4f385ee4ffb6e6</Sha>
<Sha>6ed73280a6d70f7e7ac39c86f2abe8c10983f0bb</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23475.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">

View file

@ -8,7 +8,7 @@
<VersionMajor>8</VersionMajor>
<VersionMinor>0</VersionMinor>
<VersionSDKMinor>1</VersionSDKMinor>
<VersionFeature>05</VersionFeature>
<VersionFeature>07</VersionFeature>
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
@ -27,7 +27,7 @@
<VersionFeature31>32</VersionFeature31>
<VersionFeature50>17</VersionFeature50>
<VersionFeature60>$([MSBuild]::Add($(VersionFeature), 25))</VersionFeature60>
<VersionFeature70>$([MSBuild]::Add($(VersionFeature), 14))</VersionFeature70>
<VersionFeature70>20</VersionFeature70>
<!-- Should be kept in sync with VersionFeature70. It should match the version of Microsoft.NET.ILLink.Tasks
referenced by the same 7.0 SDK that references the 7.0.VersionFeature70 runtime pack. -->
<_NET70ILLinkPackVersion>7.0.100-1.23211.1</_NET70ILLinkPackVersion>
@ -40,7 +40,7 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.24204.3</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.24266.3</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade-services -->
@ -48,16 +48,15 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms -->
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.4-servicing.24169.11</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.5-servicing.24217.4</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/wpf -->
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.4-servicing.24169.10</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.5-servicing.24217.2</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Supported versions -->
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates70PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates80PackageVersion>
</PropertyGroup>
<PropertyGroup>
@ -66,22 +65,22 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.4</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.4</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.4-servicing.24170.14</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.4-servicing.24170.14</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
<dotnetdevcertsPackageVersion>8.0.4-servicing.24170.14</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>8.0.4-servicing.24170.14</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>8.0.4-servicing.24170.14</dotnetusersecretsPackageVersion>
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.5</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.5</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.5-servicing.24224.4</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.5-servicing.24224.4</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
<dotnetdevcertsPackageVersion>8.0.5-servicing.24224.4</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>8.0.5-servicing.24224.4</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>8.0.5-servicing.24224.4</dotnetusersecretsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sdk -->
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.104</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>8.0.104-servicing.24170.24</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.104-servicing.24170.24</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.105</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>8.0.105-servicing.24224.15</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.105-servicing.24224.15</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
@ -92,24 +91,24 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/corefx -->
<MicrosoftNETCorePlatformsPackageVersion>8.0.4-servicing.24169.9</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>8.0.5-servicing.24216.15</MicrosoftNETCorePlatformsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/core-setup -->
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.4-servicing.24169.9</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.4-servicing.24169.9</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.4</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.4</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>8.0.4</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.4</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.5-servicing.24216.15</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.5-servicing.24216.15</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.5</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.5</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>8.0.5</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.5</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.4-servicing.24169.24</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.4-servicing.24169.24</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.4</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.4</MicrosoftWindowsDesktopAppRefPackageVersion>
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.5-servicing.24217.5</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.5-servicing.24217.5</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.5</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.5</MicrosoftWindowsDesktopAppRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
@ -123,6 +122,10 @@
<!-- Dependencies from https://github.com/NuGet/NuGet.Client -->
<NuGetBuildTasksPackageVersion>6.8.1-rc.2</NuGetBuildTasksPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/msbuild -->
<MicrosoftBuildPackageVersion>17.8.5</MicrosoftBuildPackageVersion>
</PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/deployment-tools -->
<PropertyGroup>
<MicrosoftDeploymentDotNetReleasesVersion>2.0.0-preview.1.23463.1</MicrosoftDeploymentDotNetReleasesVersion>
@ -146,22 +149,15 @@
<SubtractOneFromTemplateVersions Condition="$([MSBuild]::Subtract($(VersionFeature), $(MicrosoftNETSdkPatchVersion))) &gt;= 2">true</SubtractOneFromTemplateVersions>
<SubtractOneFromTemplateVersions Condition="$(VersionFeature) &gt;= 1 AND ! $(MicrosoftNETSdkPackageVersion.Contains('rtm')) AND ! $(MicrosoftNETSdkPackageVersion.Contains('servicing'))">true</SubtractOneFromTemplateVersions>
<AspNetCoreTemplateFeature60>$([MSBuild]::Subtract($(VersionFeature60), 1))</AspNetCoreTemplateFeature60>
<AspNetCoreTemplateFeature70>$([MSBuild]::Subtract($(VersionFeature70), 1))</AspNetCoreTemplateFeature70>
<AspNetCoreTemplateFeature60 Condition="$(MicrosoftNETSdkPackageVersion.Contains('preview'))">$(VersionFeature60)</AspNetCoreTemplateFeature60>
<AspNetCoreTemplateFeature70 Condition="$(MicrosoftNETSdkPackageVersion.Contains('preview'))">$(VersionFeature70)</AspNetCoreTemplateFeature70>
<AspNetCoreTemplateFeature60 Condition="'$(SubtractOneFromTemplateVersions)' == 'true'">$([MSBuild]::Subtract($(AspNetCoreTemplateFeature60), 1))</AspNetCoreTemplateFeature60>
<AspNetCoreTemplateFeature70 Condition="'$(SubtractOneFromTemplateVersions)' == 'true'">$([MSBuild]::Subtract($(AspNetCoreTemplateFeature70), 1))</AspNetCoreTemplateFeature70>
</PropertyGroup>
<PropertyGroup>
<!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.14</MicrosoftAspNetCoreAppRuntime60PackageVersion>
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.3</MicrosoftAspNetCoreAppRuntime70PackageVersion>
<MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion>
<MicrosoftWPFProjectTemplates60PackageVersion>6.0.7-servicing.22322.2</MicrosoftWPFProjectTemplates60PackageVersion>
<MicrosoftWinFormsProjectTemplates70PackageVersion>7.0.0-rtm.22518.7</MicrosoftWinFormsProjectTemplates70PackageVersion>
<MicrosoftWPFProjectTemplates70PackageVersion>7.0.0-rtm.22518.2</MicrosoftWPFProjectTemplates70PackageVersion>
</PropertyGroup>
<PropertyGroup>
<HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion>
@ -179,13 +175,6 @@
<MicrosoftDotNetCommonItemTemplates80PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates80PackageVersion>
<MicrosoftDotNetCommonProjectTemplates80PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonProjectTemplates80PackageVersion>
<AspNetCorePackageVersionFor80Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor80Templates>
<!-- 7.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>$(MicrosoftWinFormsProjectTemplates70PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>
<MicrosoftDotNetWpfProjectTemplates70PackageVersion>$(MicrosoftWPFProjectTemplates70PackageVersion)</MicrosoftDotNetWpfProjectTemplates70PackageVersion>
<NUnit3Templates70PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates70PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftDotNetCommonProjectTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonProjectTemplates70PackageVersion>
<AspNetCorePackageVersionFor70Templates>7.0.$(AspNetCoreTemplateFeature70)</AspNetCorePackageVersionFor70Templates>
<!-- 6.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftWinFormsProjectTemplates60PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>
<MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftWPFProjectTemplates60PackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion>
@ -213,7 +202,7 @@
<XamarinMacOSWorkloadManifestVersion>14.0.8478</XamarinMacOSWorkloadManifestVersion>
<XamarinTvOSWorkloadManifestVersion>17.0.8478</XamarinTvOSWorkloadManifestVersion>
<!-- Workloads from dotnet/emsdk -->
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion>8.0.4</MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion>
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion>8.0.5</MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion)</EmscriptenWorkloadManifestVersion>
<!-- emsdk workload prerelease version band must match the emsdk feature band -->
<EmscriptenWorkloadFeatureBand>8.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-rtm|-[A-z]*\.*\d*`))</EmscriptenWorkloadFeatureBand>

View file

@ -1,6 +1,7 @@
parameters:
runAsPublic: false
sourceIndexPackageVersion: 1.0.1-20230228.2
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: []
@ -14,15 +15,15 @@ jobs:
dependsOn: ${{ parameters.dependsOn }}
condition: ${{ parameters.condition }}
variables:
- name: SourceIndexPackageVersion
value: ${{ parameters.sourceIndexPackageVersion }}
- name: SourceIndexUploadPackageVersion
value: ${{ parameters.sourceIndexUploadPackageVersion }}
- name: SourceIndexProcessBinlogPackageVersion
value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
- name: SourceIndexPackageSource
value: ${{ parameters.sourceIndexPackageSource }}
- name: BinlogPath
value: ${{ parameters.binlogPath }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: source-dot-net stage1 variables
- template: /eng/common/templates-official/variables/pool-providers.yml
- template: /eng/common/templates/variables/pool-providers.yml
${{ if ne(parameters.pool, '') }}:
pool: ${{ parameters.pool }}
@ -33,24 +34,23 @@ jobs:
demands: ImageOverride -equals windows.vs2019.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
image: windows.vs2022.amd64
os: windows
demands: ImageOverride -equals windows.vs2019.amd64
steps:
- ${{ each preStep in parameters.preSteps }}:
- ${{ preStep }}
- task: UseDotNet@2
displayName: Use .NET Core SDK 6
displayName: Use .NET 8 SDK
inputs:
packageType: sdk
version: 6.0.x
version: 8.0.x
installationPath: $(Agent.TempDirectory)/dotnet
workingDirectory: $(Agent.TempDirectory)
- script: |
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
displayName: Download Tools
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
workingDirectory: $(Agent.TempDirectory)
@ -62,7 +62,24 @@ jobs:
displayName: Process Binlog into indexable sln
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
- task: AzureCLI@2
displayName: Get stage 1 auth token
inputs:
azureSubscription: 'SourceDotNet Stage1 Publish'
addSpnToEnvironment: true
scriptType: 'ps'
scriptLocation: 'inlineScript'
inlineScript: |
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"
echo "##vso[task.setvariable variable=ARM_ID_TOKEN]$env:idToken"
echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"
- script: |
echo "Client ID: $(ARM_CLIENT_ID)"
echo "ID Token: $(ARM_ID_TOKEN)"
echo "Tenant ID: $(ARM_TENANT_ID)"
az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
displayName: "Login to Azure"
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
displayName: Upload stage1 artifacts to source index
env:
BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)

View file

@ -1,6 +1,7 @@
parameters:
runAsPublic: false
sourceIndexPackageVersion: 1.0.1-20230228.2
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: []
@ -14,14 +15,14 @@ jobs:
dependsOn: ${{ parameters.dependsOn }}
condition: ${{ parameters.condition }}
variables:
- name: SourceIndexPackageVersion
value: ${{ parameters.sourceIndexPackageVersion }}
- name: SourceIndexUploadPackageVersion
value: ${{ parameters.sourceIndexUploadPackageVersion }}
- name: SourceIndexProcessBinlogPackageVersion
value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
- name: SourceIndexPackageSource
value: ${{ parameters.sourceIndexPackageSource }}
- name: BinlogPath
value: ${{ parameters.binlogPath }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: source-dot-net stage1 variables
- template: /eng/common/templates/variables/pool-providers.yml
${{ if ne(parameters.pool, '') }}:
@ -40,16 +41,16 @@ jobs:
- ${{ preStep }}
- task: UseDotNet@2
displayName: Use .NET Core SDK 6
displayName: Use .NET 8 SDK
inputs:
packageType: sdk
version: 6.0.x
version: 8.0.x
installationPath: $(Agent.TempDirectory)/dotnet
workingDirectory: $(Agent.TempDirectory)
- script: |
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
displayName: Download Tools
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
workingDirectory: $(Agent.TempDirectory)
@ -61,7 +62,24 @@ jobs:
displayName: Process Binlog into indexable sln
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
- task: AzureCLI@2
displayName: Get stage 1 auth token
inputs:
azureSubscription: 'SourceDotNet Stage1 Publish'
addSpnToEnvironment: true
scriptType: 'ps'
scriptLocation: 'inlineScript'
inlineScript: |
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"
echo "##vso[task.setvariable variable=ARM_ID_TOKEN]$env:idToken"
echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"
- script: |
echo "Client ID: $(ARM_CLIENT_ID)"
echo "ID Token: $(ARM_ID_TOKEN)"
echo "Tenant ID: $(ARM_TENANT_ID)"
az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
displayName: "Login to Azure"
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
displayName: Upload stage1 artifacts to source index
env:
BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)

View file

@ -164,8 +164,8 @@ jobs:
notFoundMessage="No source-built SDK found to download..."
echo "Looking for source-built SDK to download..."
archiveUrlLine=`grep -m 1 "<PrivateSourceBuiltSdkUrl_CentOS8Stream>" "$packageVersionsPath" || :`
urlPattern="<PrivateSourceBuiltSdkUrl_CentOS8Stream>(.*)</PrivateSourceBuiltSdkUrl_CentOS8Stream>"
archiveUrlLine=`grep -m 1 "<PrivateSourceBuiltSdkUrl>" "$packageVersionsPath" || :`
urlPattern="<PrivateSourceBuiltSdkUrl>(.*)</PrivateSourceBuiltSdkUrl>"
if [[ $archiveUrlLine =~ $urlPattern ]]; then
archiveUrl="${BASH_REMATCH[1]}"
@ -266,6 +266,20 @@ jobs:
displayName: Prepare BuildLogs staging directory
continueOnError: true
condition: succeededOrFailed()
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- publish: '$(Build.StagingDirectory)/BuildLogs'
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs
continueOnError: true
condition: succeededOrFailed()
- publish: '${{ variables.sourcesPath }}/artifacts/${{ parameters.architecture }}/Release/'
artifact: $(Agent.JobName)_Artifacts
displayName: Publish Artifacts
condition: succeededOrFailed()
continueOnError: true
- task: PublishTestResults@2
displayName: Publish Test Results
condition: succeededOrFailed()

View file

@ -19,27 +19,6 @@ parameters:
type: boolean
default: false
# The following parameters aren't expected to be passed in rather they are used for encapsulation
# -----------------------------------------------------------------------------------------------
- name: alpine319Container
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19
- name: centOSStream8Container
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
- name: centOSStream9Container
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
- name: fedora38Container
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38
- name: ubuntu2204Container
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
- name: ubuntu2204ArmContainer
type: string
default: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-arm64
# These are not expected to be passed it but rather just object variables reused below
- name: pool_Linux
type: object
@ -79,12 +58,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Online_MsftSdk
buildName: ${{ format('{0}_Online_MsftSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -95,12 +74,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Offline_MsftSdk
buildName: ${{ format('{0}_Offline_MsftSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: true # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -115,12 +94,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: Alpine319_Offline_MsftSdk
buildName: ${{ format('{0}_Offline_MsftSdk', variables.alpineName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.alpine319Container }}
container: ${{ variables.alpineContainer }}
buildFromArchive: false # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -131,12 +110,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Online_PreviousSourceBuiltSdk
buildName: ${{ format('{0}_Online_PreviousSourceBuiltSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -147,12 +126,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Offline_PreviousSourceBuiltSdk
buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -163,12 +142,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Mono_Offline_MsftSdk
buildName: ${{ format('{0}_Mono_Offline_MsftSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: true # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
@ -179,28 +158,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream9_Offline_MsftSdk
buildName: ${{ format('{0}_Offline_MsftSdk', variables.fedoraName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream9Container }}
buildFromArchive: true # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
runOnline: false # 🚫
useMonoRuntime: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: Fedora38_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.fedora38Container }}
container: ${{ variables.fedoraContainer }}
buildFromArchive: true # ✅
enablePoison: true # ✅
excludeOmniSharpTests: false # 🚫
@ -211,12 +174,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: Ubuntu2204_Offline_MsftSdk
buildName: ${{ format('{0}_Offline_MsftSdk', variables.ubuntuName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.ubuntu2204Container }}
container: ${{ variables.ubuntuContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
@ -229,12 +192,12 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: Ubuntu2204Arm64_Offline_MsftSdk
buildName: ${{ format('{0}Arm64_Offline_MsftSdk', variables.ubuntuName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_LinuxArm64 }}
container: ${{ parameters.ubuntu2204ArmContainer }}
container: ${{ variables.ubuntuArmContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
@ -247,33 +210,33 @@ stages:
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: CentOSStream8_Online_CurrentSourceBuiltSdk
buildName: ${{ format('{0}_Online_CurrentSourceBuiltSdk', variables.centOSStreamName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.centOSStream8Container }}
container: ${{ variables.centOSStreamContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
runOnline: false # 🚫
useMonoRuntime: false # 🚫
withPreviousSDK: false # 🚫
reuseBuildArtifactsFrom: CentOSStream8_Online_MsftSdk
reuseBuildArtifactsFrom: ${{ format('{0}_Online_MsftSdk', variables.centOSStreamName) }}
- template: ../jobs/vmr-build.yml@self
parameters:
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
buildName: Fedora38_Offline_CurrentSourceBuiltSdk
buildName: ${{ format('{0}_Offline_CurrentSourceBuiltSdk', variables.fedoraName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ parameters.fedora38Container }}
container: ${{ variables.fedoraContainer }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
runOnline: false # 🚫
useMonoRuntime: false # 🚫
withPreviousSDK: false # 🚫
reuseBuildArtifactsFrom: Fedora38_Offline_MsftSdk
reuseBuildArtifactsFrom: ${{ format('{0}_Offline_MsftSdk', variables.fedoraName) }}

View file

@ -1,4 +1,34 @@
variables:
- name: alpineContainer
value: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
- name: centOSStreamContainer
value: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
- name: fedoraContainer
value: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-40
- name: ubuntuContainer
value: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
- name: ubuntuArmContainer
value: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-arm64
- name: alpineName
value: Alpine319
- name: centOSStreamName
value: CentOSStream9
- name: fedoraName
value: Fedora40
- name: ubuntuName
value: Ubuntu2204
- name: alpineX64Rid
value: alpine.3.19-x64
- name: centOSStreamX64Rid
value: centos.9-x64
- name: fedoraX64Rid
value: fedora.40-x64
- name: ubuntux64Rid
value: ubuntu.22.04-x64
- name: ubuntuArm64Rid
value: ubuntu.22.04-arm64
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: defaultPoolName

View file

@ -23,7 +23,7 @@ variables:
value: ${{ replace(parameters.vmrBranch, ' ', '') }}
- ${{ else }}:
- name: VmrBranch
value: release/8.0.1xx
value: internal/release/8.0.1xx
resources:
repositories:

View file

@ -11,7 +11,7 @@
"cmake": "3.21.0"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24204.3",
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.24204.3"
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24266.3",
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.24266.3"
}
}

View file

@ -0,0 +1,13 @@
# Partially copied from https://github.com/dotnet/arcade/blob/dfc6882da43decb37f12e0d9011ce82b25225578/.vault-config/product-builds-dnceng-pipeline-secrets.yaml
secrets:
BotAccount-dotnet-sb-bot:
type: github-account
parameters:
Name: dotnet-sb-bot
BotAccount-dotnet-sb-bot-pat:
type: github-access-token
parameters:
gitHubBotAccountSecret: BotAccount-dotnet-sb-bot
gitHubBotAccountName: dotnet-sb-bot

View file

@ -30,7 +30,7 @@
These URLs can't be composed from their base URL and version as we read them from the
prep.sh and pipeline scripts, outside of MSBuild.
-->
<PrivateSourceBuiltArtifactsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.104-servicing.24171.1.centos.8-x64.tar.gz</PrivateSourceBuiltArtifactsUrl>
<PrivateSourceBuiltSdkUrl_CentOS8Stream>https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.104-centos.8-x64.tar.gz</PrivateSourceBuiltSdkUrl_CentOS8Stream>
<PrivateSourceBuiltArtifactsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.106-servicing.24278.1.centos.9-x64.tar.gz</PrivateSourceBuiltArtifactsUrl>
<PrivateSourceBuiltSdkUrl>https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.106-centos.9-x64.tar.gz</PrivateSourceBuiltSdkUrl>
</PropertyGroup>
</Project>

View file

@ -30,45 +30,45 @@ parameters:
type: string
default: ' '
variables:
- template: /src/installer/eng/pipelines/templates/variables/vmr-build.yml@self
# GH access token for SB bot - BotAccount-dotnet-sb-bot-pat
- group: DotNet-Source-Build-Bot-Secrets-MVP
jobs:
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: CentOSStream8_Offline_MsftSdk
targetRid: centos.8-x64
buildName: ${{ format('{0}_Offline_MsftSdk', variables.centOSStreamName) }}
targetRid: ${{ variables.centOSStreamX64Rid }}
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
publishTestResultsPr: true
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: ${{ format('{0}_Offline_MsftSdk', variables.alpineName) }}
targetRid: ${{ variables.alpineX64Rid }}
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: CentOSStream9_Offline_MsftSdk
targetRid: centos.9-x64
buildName: ${{ format('{0}_Offline_MsftSdk', variables.fedoraName) }}
targetRid: ${{ variables.fedoraX64Rid }}
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Alpine319_Offline_MsftSdk
targetRid: alpine.3.19-x64
buildName: ${{ format('{0}_Offline_MsftSdk', variables.ubuntuName) }}
targetRid: ${{ variables.ubuntuX64Rid }}
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Fedora38_Offline_MsftSdk
targetRid: fedora.38-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Ubuntu2204_Offline_MsftSdk
targetRid: ubuntu.22.04-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Ubuntu2204Arm64_Offline_MsftSdk
targetRid: ubuntu.22.04-arm64
buildName: ${{ format('{0}Arm64_Offline_MsftSdk', variables.ubuntuName) }}
targetRid: ${{ variables.ubuntuArm64Rid }}
architecture: arm64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}

View file

@ -11,6 +11,10 @@ parameters:
- name: dotnetDotnetRunId
type: string
- name: publishTestResultsPr
type: boolean
default: false
jobs:
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
timeoutInMinutes: 150
@ -161,3 +165,12 @@ jobs:
mergeTestResults: true
publishRunAttachments: true
testRunTitle: $(Agent.JobName)
- ${{ if and(eq(parameters.publishTestResultsPr, 'true'), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release'))) }}:
- template: ../steps/create-baseline-update-pr.yml
parameters:
pipeline: sdk
repo: dotnet/installer
originalFilesDirectory: src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines
updatedFilesDirectory: $(Build.StagingDirectory)/BuildLogs
pullRequestTitle: Update Source-Build SDK Diff Tests Baselines and Exclusions

View file

@ -0,0 +1,48 @@
parameters:
# The pipeline that is being run
# Used to determine the correct baseline update tool to run
# Currently only supports "sdk" and "license"
- name: pipeline
type: string
# The GitHub repository to create the PR in.
# Should be in the form '<owner>/<repo-name>'
- name: repo
type: string
# Path to the directory containing the original test files
# Should be relative to the "repo" parameter
- name: originalFilesDirectory
type: string
# Path to the directory containing the updated test files
# Should be absolute or relative to the working directory of the tool
- name: updatedFilesDirectory
type: string
- name: pullRequestTitle
type: string
default: Update Test Baselines
steps:
- script: |
restoreSources="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json"
restoreSources+="%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json"
branchName=$(echo "$(Build.SourceBranch)" | sed 's/refs\/heads\///g')
.dotnet/dotnet run \
--project eng/tools/CreateBaselineUpdatePR/ \
--property:RestoreSources="$restoreSources" \
"${{ parameters.pipeline }}" \
"${{ parameters.repo }}" \
"${{ parameters.originalFilesDirectory }}" \
"${{ parameters.updatedFilesDirectory }}" \
"$(Build.BuildId)" \
--title "${{ parameters.pullRequestTitle }}" \
--branch "$branchName"
displayName: Publish Test Results PR
workingDirectory: $(Build.SourcesDirectory)
condition: succeededOrFailed()
env:
GH_TOKEN: $(BotAccount-dotnet-sb-bot-pat)

View file

@ -20,7 +20,10 @@ parameters:
default: " " # Set it to an empty string to allow it be an optional parameter
variables:
installerRoot: '$(Build.SourcesDirectory)/src/installer'
# GH access token for SB bot - BotAccount-dotnet-sb-bot-pat
- group: DotNet-Source-Build-Bot-Secrets-MVP
- name: installerRoot
value: '$(Build.SourcesDirectory)/src/installer'
jobs:
- job: Setup
@ -136,3 +139,45 @@ jobs:
mergeTestResults: true
publishRunAttachments: true
testRunTitle: $(Agent.JobName)
- job: CreateBaselineUpdatePR
dependsOn: LicenseScan
condition: or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release'))
pool:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals 1es-ubuntu-2004
variables:
- template: templates/variables/pipelines.yml
steps:
- script: |
source ./eng/common/tools.sh
InitializeDotNetCli true
displayName: Install .NET SDK
workingDirectory: $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
inputs:
buildType: specific
buildVersionToDownload: specific
project: internal
buildId: $(Build.BuildId)
artifact: ''
patterns: '**/Updated*'
allowPartiallySucceededBuilds: true
allowFailedBuilds: true
downloadPath: $(Pipeline.Workspace)/Artifacts
checkDownloadedFiles: true
displayName: Download Updated Baselines
- script: |
find $(Pipeline.Workspace)/Artifacts -type f -exec mv {} $(Pipeline.Workspace)/Artifacts \;
displayName: Move Artifacts to root
- template: templates/steps/create-baseline-update-pr.yml
parameters:
pipeline: license
repo: dotnet/installer
originalFilesDirectory: src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/licenses
updatedFilesDirectory: $(Pipeline.Workspace)/Artifacts
pullRequestTitle: Update Source-Build License Scan Baselines and Exclusions

View file

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.24209.3" />
<PackageReference Include="Octokit" Version="10.0.0" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,68 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Extensions.Logging;
namespace CreateBaselineUpdatePR;
public static class Log
{
public static LogLevel Level = LogLevel.Information;
private static bool WarningLogged = false;
private static bool ErrorLogged = false;
private static readonly Lazy<ILogger> _logger = new Lazy<ILogger>(ConfigureLogger);
public static void LogDebug(string message)
{
_logger.Value.LogDebug(message);
}
public static void LogInformation(string message)
{
_logger.Value.LogInformation(message);
}
public static void LogWarning(string message)
{
_logger.Value.LogWarning(message);
WarningLogged = true;
}
public static void LogError(string message)
{
_logger.Value.LogError(message);
ErrorLogged = true;
}
private static ILogger ConfigureLogger()
{
using ILoggerFactory loggerFactory =
LoggerFactory.Create(builder =>
builder.AddSimpleConsole(options =>
{
options.SingleLine = true;
options.TimestampFormat = "HH:mm:ss ";
options.UseUtcTimestamp = true;
})
.SetMinimumLevel(Level));
return loggerFactory.CreateLogger(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name!);
}
public static int GetExitCode()
{
if (ErrorLogged)
{
return 1;
}
if (WarningLogged)
{
return 2;
}
return 0;
}
}

View file

@ -0,0 +1,310 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace CreateBaselineUpdatePR;
using Octokit;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
public class PRCreator
{
private readonly string _repoOwner;
private readonly string _repoName;
private readonly GitHubClient _client;
private const string BuildLink = "https://dev.azure.com/dnceng/internal/_build/results?buildId=";
private const string TreeMode = "040000";
public PRCreator(string repo, string gitHubToken)
{
// Create a new GitHub client
_client = new GitHubClient(new ProductHeaderValue(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name));
var authToken = new Credentials(gitHubToken);
_client.Credentials = authToken;
_repoOwner = repo.Split('/')[0];
_repoName = repo.Split('/')[1];
}
public async Task<int> ExecuteAsync(
string originalFilesDirectory,
string updatedFilesDirectory,
int buildId,
string title,
string targetBranch,
Pipelines pipeline)
{
DateTime startTime = DateTime.Now.ToUniversalTime();
Log.LogInformation($"Starting PR creation at {startTime} UTC for pipeline {pipeline}.");
var updatedTestsFiles = GetUpdatedFiles(updatedFilesDirectory);
// Create a new tree for the originalFilesDirectory based on the target branch
var originalTreeResponse = await _client.Git.Tree.GetRecursive(_repoOwner, _repoName, targetBranch);
var testResultsTreeItems = originalTreeResponse.Tree
.Where(file => file.Path.Contains(originalFilesDirectory) && file.Path != originalFilesDirectory)
.Select(file => new NewTreeItem
{
Path = Path.GetRelativePath(originalFilesDirectory, file.Path),
Mode = file.Mode,
Type = file.Type.Value,
Sha = file.Sha
})
.ToList();
// Update the test results tree
testResultsTreeItems = await UpdateAllFilesAsync(updatedTestsFiles, testResultsTreeItems);
var testResultsTreeResponse = await CreateTreeFromItemsAsync(testResultsTreeItems);
var parentTreeResponse = await CreateParentTreeAsync(testResultsTreeResponse, originalTreeResponse, originalFilesDirectory);
await CreateOrUpdatePullRequestAsync(parentTreeResponse, buildId, title, targetBranch);
return Log.GetExitCode();
}
// Return a dictionary using the filename without the
// "Updated" prefix and anything after the first '.' as the key
private Dictionary<string, HashSet<string>> GetUpdatedFiles(string updatedFilesDirectory) =>
Directory
.GetFiles(updatedFilesDirectory, "Updated*", SearchOption.AllDirectories)
.GroupBy(updatedTestsFile => ParseUpdatedFileName(updatedTestsFile).Split('.')[0])
.ToDictionary(
group => group.Key,
group => new HashSet<string>(group)
);
private async Task<List<NewTreeItem>> UpdateAllFilesAsync(Dictionary<string, HashSet<string>> updatedFiles, List<NewTreeItem> tree)
{
foreach (var updatedFile in updatedFiles)
{
foreach (var filePath in updatedFile.Value)
{
var content = File.ReadAllText(filePath);
string originalFileName = Path.GetFileName(ParseUpdatedFileName(filePath));
tree = await UpdateFileAsync(tree, content, originalFileName, originalFileName);
}
}
return tree;
}
private async Task<List<NewTreeItem>> UpdateFileAsync(List<NewTreeItem> tree, string content, string searchFileName, string updatedPath)
{
var originalTreeItem = tree
.Where(item => item.Path.Contains(searchFileName))
.FirstOrDefault();
if (originalTreeItem == null)
{
// Path not in the tree, add a new tree item
var blob = await CreateBlobAsync(content);
tree.Add(new NewTreeItem
{
Type = TreeType.Blob,
Mode = FileMode.File,
Path = updatedPath,
Sha = blob.Sha
});
}
else
{
// Path in the tree, update the sha and the content
var blob = await CreateBlobAsync(content);
originalTreeItem.Sha = blob.Sha;
}
return tree;
}
private async Task<BlobReference> CreateBlobAsync(string content)
{
var blob = new NewBlob
{
Content = content,
Encoding = EncodingType.Utf8
};
return await _client.Git.Blob.Create(_repoOwner, _repoName, blob);
}
private string ParseUpdatedFileName(string updatedFile) => updatedFile.Split("Updated")[1];
private async Task<TreeResponse> CreateTreeFromItemsAsync(List<NewTreeItem> items, string path = "")
{
var newTreeItems = new List<NewTreeItem>();
var groups = items.GroupBy(item => Path.GetDirectoryName(item.Path));
foreach (var group in groups)
{
if (string.IsNullOrEmpty(group.Key) || group.Key == path)
{
// These items are in the current directory, so add them to the new tree items
foreach (var item in group)
{
if(item.Type != TreeType.Tree)
{
newTreeItems.Add(new NewTreeItem
{
Path = path == string.Empty ? item.Path : Path.GetRelativePath(path, item.Path),
Mode = item.Mode,
Type = item.Type,
Sha = item.Sha
});
}
}
}
else
{
// These items are in a subdirectory, so recursively create a tree for them
var subtreeResponse = await CreateTreeFromItemsAsync(group.ToList(), group.Key);
newTreeItems.Add(new NewTreeItem
{
Path = group.Key,
Mode = TreeMode,
Type = TreeType.Tree,
Sha = subtreeResponse.Sha
});
}
}
var newTree = new NewTree();
foreach (var item in newTreeItems)
{
newTree.Tree.Add(item);
}
return await _client.Git.Tree.Create(_repoOwner, _repoName, newTree);
}
private async Task<TreeResponse> CreateParentTreeAsync(TreeResponse testResultsTreeResponse, TreeResponse originalTreeResponse, string originalFilesDirectory)
{
// Create a new tree for the parent directory
NewTree parentTree = new NewTree { BaseTree = originalTreeResponse.Sha };
// Connect the updated test results tree
parentTree.Tree.Add(new NewTreeItem
{
Path = originalFilesDirectory,
Mode = TreeMode,
Type = TreeType.Tree,
Sha = testResultsTreeResponse.Sha
});
return await _client.Git.Tree.Create(_repoOwner, _repoName, parentTree);
}
private async Task CreateOrUpdatePullRequestAsync(TreeResponse parentTreeResponse, int buildId, string title, string targetBranch)
{
var existingPullRequest = await GetExistingPullRequestAsync(title, targetBranch);
// Create the branch name and get the head reference
string newBranchName = string.Empty;
string headSha = await GetHeadShaAsync(targetBranch);
if (existingPullRequest == null)
{
string utcTime = DateTime.UtcNow.ToString("yyyyMMddHHmmss");
newBranchName = $"pr-baseline-{utcTime}";
}
else
{
newBranchName = existingPullRequest.Head.Ref;
try
{
// Merge the target branch into the existing pull request
var merge = new NewMerge(newBranchName, headSha);
await _client.Repository.Merging.Create(_repoOwner, _repoName, merge);
}
catch (Exception e)
{
Log.LogWarning($"Failed to merge the target branch into the existing pull request: {e.Message}");
Log.LogWarning("Continuing with updating the existing pull request. You may need to resolve conflicts manually in the PR.");
}
headSha = await GetHeadShaAsync(newBranchName);
}
var commitSha = await CreateCommitAsync(parentTreeResponse.Sha, headSha, $"Update baselines for build {BuildLink}{buildId} (internal Microsoft link)");
if (await ShouldMakeUpdatesAsync(headSha, commitSha))
{
string pullRequestBody = $"This PR was created by the `CreateBaselineUpdatePR` tool for build {buildId}. \n\n" +
$"The updated test results can be found at {BuildLink}{buildId} (internal Microsoft link)";
if (existingPullRequest != null)
{
await UpdatePullRequestAsync(newBranchName, commitSha, pullRequestBody, existingPullRequest);
}
else
{
await CreatePullRequestAsync(newBranchName, commitSha, targetBranch, title, pullRequestBody);
}
}
}
private async Task<PullRequest?> GetExistingPullRequestAsync(string title, string targetBranch)
{
var request = new PullRequestRequest
{
Base = targetBranch
};
var existingPullRequest = await _client.PullRequest.GetAllForRepository(_repoOwner, _repoName, request);
return existingPullRequest.FirstOrDefault(pr => pr.Title == title);
}
private async Task<string> CreateCommitAsync(string newSha, string headSha, string commitMessage)
{
var newCommit = new NewCommit(commitMessage, newSha, headSha);
var commit = await _client.Git.Commit.Create(_repoOwner, _repoName, newCommit);
return commit.Sha;
}
private async Task<bool> ShouldMakeUpdatesAsync(string headSha, string commitSha)
{
var comparison = await _client.Repository.Commit.Compare(_repoOwner, _repoName, headSha, commitSha);
if (!comparison.Files.Any())
{
Log.LogInformation("No changes to commit. Skipping PR creation/updates.");
return false;
}
return true;
}
private async Task UpdatePullRequestAsync(string branchName, string commitSha, string body, PullRequest pullRequest)
{
await UpdateReferenceAsync(branchName, commitSha);
var pullRequestUpdate = new PullRequestUpdate
{
Body = body
};
await _client.PullRequest.Update(_repoOwner, _repoName, pullRequest.Number, pullRequestUpdate);
Log.LogInformation($"Updated existing pull request #{pullRequest.Number}. URL: {pullRequest.HtmlUrl}");
}
private async Task CreatePullRequestAsync(string newBranchName, string commitSha, string targetBranch, string title, string body)
{
await CreateReferenceAsync(newBranchName, commitSha);
var newPullRequest = new NewPullRequest(title, newBranchName, targetBranch)
{
Body = body
};
var pullRequest = await _client.PullRequest.Create(_repoOwner, _repoName, newPullRequest);
Log.LogInformation($"Created pull request #{pullRequest.Number}. URL: {pullRequest.HtmlUrl}");
}
private async Task<string> GetHeadShaAsync(string branchName)
{
var reference = await _client.Git.Reference.Get(_repoOwner, _repoName, $"heads/{branchName}");
return reference.Object.Sha;
}
private async Task UpdateReferenceAsync(string branchName, string commitSha)
{
var referenceUpdate = new ReferenceUpdate(commitSha);
await _client.Git.Reference.Update(_repoOwner, _repoName, $"heads/{branchName}", referenceUpdate);
}
private async Task CreateReferenceAsync(string branchName, string commitSha)
{
var newReference = new NewReference($"refs/heads/{branchName}", commitSha);
await _client.Git.Reference.Create(_repoOwner, _repoName, newReference);
}
}

View file

@ -0,0 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace CreateBaselineUpdatePR;
public enum Pipelines
{
Sdk,
License
}

View file

@ -0,0 +1,118 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System;
using System.CommandLine;
using Microsoft.Extensions.Logging;
namespace CreateBaselineUpdatePR;
public class Program
{
public static readonly CliArgument<string> Repo = new("repo")
{
Description = "The GitHub repository to create the PR in. Should be in the form '<owner>/<repo-name>'",
Arity = ArgumentArity.ExactlyOne
};
public static readonly CliArgument<string> OriginalFilesDirectory = new("original-files-directory")
{
Description = "The directory where the original test files are located. Should be relative to the repo",
Arity = ArgumentArity.ExactlyOne
};
public static readonly CliArgument<string> UpdatedFilesDirectory = new("updated-files-directory")
{
Description = "The directory containing the updated test files published by the associated test. Should be absolute or relative to the working directory of the tool.",
Arity = ArgumentArity.ExactlyOne
};
public static readonly CliArgument<int> BuildId = new("build-id")
{
Description = "The id of the build that published the updated test files.",
Arity = ArgumentArity.ExactlyOne
};
public static readonly CliOption<string> Title = new("--title", "-t")
{
Description = "The title of the PR.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => "Update Test Baselines and Exclusions"
};
public static readonly CliOption<string> Branch = new("--branch", "-b")
{
Description = "The target branch of the PR.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => "main"
};
public static readonly CliOption<string> GitHubToken = new("--github-token", "-g")
{
Description = "The GitHub token to use to create the PR.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => Environment.GetEnvironmentVariable("GH_TOKEN") ?? throw new ArgumentException("GitHub token not provided.")
};
public static readonly CliOption<LogLevel> Level = new("--log-level", "-l")
{
Description = "The log level to run the tool in.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => LogLevel.Information,
Recursive = true
};
public static int ExitCode = 0;
public static async Task<int> Main(string[] args)
{
var sdkDiffTestsCommand = CreateCommand("sdk", "Creates a PR that updates baselines and exclusion files published by the sdk diff tests.");
var licenseScanTestsCommand = CreateCommand("license", "Creates a PR that updates baselines and exclusion files published by the license scan tests.");
var rootCommand = new CliRootCommand("Tool for creating PRs that update baselines and exclusion files.")
{
Level,
sdkDiffTestsCommand,
licenseScanTestsCommand
};
SetCommandAction(sdkDiffTestsCommand, Pipelines.Sdk);
SetCommandAction(licenseScanTestsCommand, Pipelines.License);
await rootCommand.Parse(args).InvokeAsync();
return ExitCode;
}
private static CliCommand CreateCommand(string name, string description)
{
return new CliCommand(name, description)
{
Repo,
OriginalFilesDirectory,
UpdatedFilesDirectory,
BuildId,
Title,
Branch,
GitHubToken
};
}
private static void SetCommandAction(CliCommand command, Pipelines pipeline)
{
command.SetAction(async (result, CancellationToken) =>
{
Log.Level = result.GetValue(Level);
var creator = new PRCreator(result.GetValue(Repo)!, result.GetValue(GitHubToken)!);
ExitCode = await creator.ExecuteAsync(
result.GetValue(OriginalFilesDirectory)!,
result.GetValue(UpdatedFilesDirectory)!,
result.GetValue(BuildId)!,
result.GetValue(Title)!,
result.GetValue(Branch)!,
pipeline);
});
}
}

View file

@ -1,6 +1,6 @@
{
"tools": {
"dotnet": "8.0.104"
"dotnet": "8.0.106"
},
"msbuild-sdks": {
"Microsoft.Build.CentralPackageVersions": "2.0.1",

View file

@ -144,13 +144,16 @@ public class LicenseScanTests : TestBase
{
Assert.NotNull(Config.LicenseScanPath);
// Indicates how long until a timeout occurs for scanning a given file
const int FileScanTimeoutSeconds = 240;
string scancodeResultsPath = Path.Combine(LogsDirectory, "scancode-results.json");
// Scancode Doc: https://scancode-toolkit.readthedocs.io/en/latest/index.html
string ignoreOptions = string.Join(" ", s_ignoredFilePatterns.Select(pattern => $"--ignore {pattern}"));
ExecuteHelper.ExecuteProcessValidateExitCode(
"scancode",
$"--license --strip-root --only-findings {ignoreOptions} --json-pp {scancodeResultsPath} {Config.LicenseScanPath}",
$"--license --processes 4 --timeout {FileScanTimeoutSeconds} --strip-root --only-findings {ignoreOptions} --json-pp {scancodeResultsPath} {Config.LicenseScanPath}",
OutputHelper);
JsonDocument doc = JsonDocument.Parse(File.ReadAllText(scancodeResultsPath));

View file

@ -0,0 +1,79 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Tue, 23 Apr 2024 01:55:17 +0000
Subject: [PATCH] Update MSBuild dependencies
Backport: https://github.com/dotnet/runtime/issues/101395
---
eng/Version.Details.xml | 12 ++++++++++++
eng/Versions.props | 6 +++---
src/tasks/AotCompilerTask/MonoAOTCompiler.csproj | 1 -
src/tasks/WasmAppBuilder/WasmAppBuilder.csproj | 3 ---
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index fe35dc0997e..b90337395f6 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,6 +414,18 @@
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
</Dependency>
+ <Dependency Name="Microsoft.Build.Framework" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
+ <Dependency Name="Microsoft.Build.Tasks.Core" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
+ <Dependency Name="Microsoft.Build.Utilities.Core" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.8.3-preview-23613-06">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
diff --git a/eng/Versions.props b/eng/Versions.props
index f012e409095..bf16c6ee71f 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -173,9 +173,9 @@
<MicrosoftDiagnosticsToolsRuntimeClientVersion>1.0.4-preview6.19326.1</MicrosoftDiagnosticsToolsRuntimeClientVersion>
<DNNEVersion>2.0.5</DNNEVersion>
<MicrosoftBuildVersion>17.8.3</MicrosoftBuildVersion>
- <MicrosoftBuildTasksCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildTasksCoreVersion>
- <MicrosoftBuildFrameworkVersion>$(MicrosoftBuildVersion)</MicrosoftBuildFrameworkVersion>
- <MicrosoftBuildUtilitiesCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildUtilitiesCoreVersion>
+ <MicrosoftBuildTasksCoreVersion>17.8.3</MicrosoftBuildTasksCoreVersion>
+ <MicrosoftBuildFrameworkVersion>17.8.3</MicrosoftBuildFrameworkVersion>
+ <MicrosoftBuildUtilitiesCoreVersion>17.8.3</MicrosoftBuildUtilitiesCoreVersion>
<NugetProjectModelVersion>6.2.4</NugetProjectModelVersion>
<NugetPackagingVersion>6.2.4</NugetPackagingVersion>
<DotnetSosVersion>7.0.412701</DotnetSosVersion>
diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj b/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
index e76730b5aec..88ae0fb136c 100644
--- a/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
+++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
@@ -14,7 +14,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCoreVersion)" />
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
</ItemGroup>
<ItemGroup>
<Compile Include="MonoAOTCompiler.cs" />
diff --git a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
index 34a51095986..d8c95954dd8 100644
--- a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
+++ b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
@@ -24,9 +24,6 @@
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCoreVersion)" />
- <!-- FIXME: is this the correct version of SRM to use when building for .NET Framework? -->
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
- <PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
</ItemGroup>
<ItemGroup>

View file

@ -10,12 +10,12 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="15.7.179" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.7.179" />
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildPackageVersion)" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NuGet.Versioning" Version="$(NuGetBuildTasksPackageVersion)" />
<PackageReference Include="NuGet.Packaging" Version="$(NuGetBuildTasksPackageVersion)" />
<PackageReference Include="System.Reflection.Metadata" Version="1.4.2" />
<PackageReference Include="System.Reflection.Metadata" Version="8.0.0" />
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<PackageReference Include="System.Net.Http" Version="4.3.4" />
</ItemGroup>

View file

@ -32,19 +32,6 @@
<Bundled80Templates Include="Microsoft.DotNet.Test.ProjectTemplates.8.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates80PackageVersion)" />
</ItemGroup>
<ItemGroup>
<Bundled70Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates70PackageVersion)" />
<Bundled70Templates Include="Microsoft.DotNet.Common.ProjectTemplates.7.0" PackageVersion="$(MicrosoftDotNetCommonItemTemplates70PackageVersion)" />
<Bundled70Templates Include="Microsoft.DotNet.Web.ItemTemplates.7.0" PackageVersion="$(AspNetCorePackageVersionFor70Templates)" />
<Bundled70Templates Include="Microsoft.DotNet.Web.ProjectTemplates.7.0" PackageVersion="$(AspNetCorePackageVersionFor70Templates)" UseVersionForTemplateInstallPath="true" />
<Bundled70Templates Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.7.0" PackageVersion="$(AspNetCorePackageVersionFor70Templates)" />
<Bundled70Templates Include="Microsoft.Dotnet.Wpf.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWpfProjectTemplates70PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled70Templates Include="Microsoft.Dotnet.WinForms.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWinFormsProjectTemplates70PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<!-- NUnit templates are shipped in Test.ProjectTemplates -->
<Bundled70Templates Include="Microsoft.DotNet.Test.ProjectTemplates.7.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates70PackageVersion)" />
</ItemGroup>
<ItemGroup>
<Bundled60Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates60PackageVersion)" />
<Bundled60Templates Include="Microsoft.DotNet.Common.ProjectTemplates.6.0" PackageVersion="$(MicrosoftDotNetCommonProjectTemplates60PackageVersion)" />
@ -63,7 +50,6 @@
</ItemGroup>
<ItemGroup>
<PreviousVersionBundledTemplates Include="@(Bundled70Templates)" TemplateFrameworkVersion="7.0"/>
<PreviousVersionBundledTemplates Include="@(Bundled60Templates)" TemplateFrameworkVersion="6.0"/>
</ItemGroup>