- Extract common archive diffing into a base class
- Move Diff utils to a separate class
- Return all valid archives and assert only one valid SDK archive
- Use Arcade VersionIdentifier util class
[main] Update dependencies from dotnet/sdk
- Coherency Updates:
- Microsoft.WindowsDesktop.App.Ref: from 9.0.0-preview.2.24120.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0: from 9.0.0-preview.2.24120.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0: from 9.0.0-preview.2.24120.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.SharedFramework.x64.9.0: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Ref: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.TargetingPack.x64.9.0: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Host.win-x64: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.Platforms: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.runtime.linux-x64: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-preview.2.24120.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.NET.Sdk)
- Microsoft.Dotnet.WinForms.ProjectTemplates: from 9.0.0-preview.2.24118.1 to 9.0.0-preview.2.24122.2 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-preview.2.24120.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.NET.Sdk)
- Microsoft.DotNet.Wpf.ProjectTemplates: from 9.0.0-preview.2.24119.1 to 9.0.0-preview.2.24122.1 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.FSharp.Compiler: from 12.8.300-beta.24120.1 to 12.8.300-beta.24122.3 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.fsharp: from 8.0.300-beta.24120.1 to 8.0.300-beta.24122.3 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Test.Sdk: from 17.10.0-preview-24119-01 to 17.10.0-preview-24120-01 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.vstest: from 17.10.0-preview-24119-01 to 17.10.0-preview-24120-01 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.ILLink.Tasks: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.Net.Compilers.Toolset: from 4.10.0-2.24120.7 to 4.10.0-2.24122.3 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.roslyn: from 4.10.0-2.24120.7 to 4.10.0-2.24122.3 (parent: Microsoft.NET.Sdk)
- Microsoft.Build: from 17.10.0-preview-24120-06 to 17.10.0-preview-24122-01 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.msbuild: from 17.10.0-preview-24120-06 to 17.10.0-preview-24122-01 (parent: Microsoft.NET.Sdk)
- NuGet.Build.Tasks: from 6.10.0-preview.2.32 to 6.10.0-preview.2.41 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport: from 9.0.0-preview.2.24114.5 to 9.0.0-preview.2.24121.1 (parent: Microsoft.NETCore.App.Runtime.win-x64)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-preview.2.24120.11 to 9.0.0-preview.2.24122.4 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.emsdk: from 9.0.0-preview.2.24114.5 to 9.0.0-preview.2.24121.1 (parent: Microsoft.NETCore.App.Runtime.win-x64)
- Rebase fsharp patch
- Roslyn patch to fix NetRoslyn value
As a prerequisite to enabling parallel builds of the repos in the VMR, it's necessary to isolate the package flow between repos. This ensures that repo dependencies are defined correctly. Prior to these changes, the packages outputted by repos went to the same directory (Shipping or NonShipping) and those two directories were used as the package feed inputs to dependent repos. This would be dangerous in the context of running builds in parallel across repos because any ill-defined dependencies could lead to race conditions. For example, consider the msbuild repo's dependency on System.Text.Json from the runtime repo. If runtime was not defined as a dependency of msbuild, then there's no guarantee that System.Text.Json will exist when it restores it. Based on timing, it may exist in one build and then not exist in another build.
To solve this problem, the packages output from a repos build are placed in a repo-specific package location as a sub-directory of the package location (Shipping or NonShipping). Previously, all repos would output their packages to `artifacts/packages/Release/[NonShipping|Shipping]`. With these changes, they output to `artifacts/packages/Release/[NonShipping|Shipping]/<repo-name>`. This isolates all packages on a per-repo basis. The next step is to provide access to these packages based on dependencies. Going back to msbuild's dependency on runtime, this is accomplished by modifying msbuild's nuget.config file to include feeds specific to runtime:
```xml
<add key="source-built-runtime" value="/vmr/artifacts/packages/Release/Shipping/runtime/" />
<add key="source-built-transport-runtime" value="/vmr/artifacts/packages/Release/NonShipping/runtime/" />
```
[main] Update dependencies from dotnet/sdk
- Coherency Updates:
- Microsoft.WindowsDesktop.App.Ref: from 9.0.0-preview.2.24112.5 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0: from 9.0.0-preview.2.24112.5 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0: from 9.0.0-preview.2.24112.5 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.SharedFramework.x64.9.0: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Ref: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.TargetingPack.x64.9.0: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Host.win-x64: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.Platforms: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.runtime.linux-x64: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref.Internal: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Runtime.win-x64: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- dotnet-dev-certs: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- dotnet-user-jwts: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- dotnet-user-secrets: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.aspnetcore: from 9.0.0-preview.2.24112.25 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-preview.2.24112.5 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.Dotnet.WinForms.ProjectTemplates: from 9.0.0-preview.2.24112.2 to 9.0.0-preview.2.24112.7 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-preview.2.24112.5 to 9.0.0-preview.2.24113.4 (parent: Microsoft.NET.Sdk)
- Microsoft.DotNet.Wpf.ProjectTemplates: from 9.0.0-preview.2.24112.2 to 9.0.0-preview.2.24112.4 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.FSharp.Compiler: from 12.8.300-beta.24112.4 to 12.8.300-beta.24113.3 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.fsharp: from 8.0.300-beta.24112.4 to 8.0.300-beta.24113.3 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Test.Sdk: from 17.10.0-preview-24107-02 to 17.10.0-preview-24112-02 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.vstest: from 17.10.0-preview-24107-02 to 17.10.0-preview-24112-02 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.ILLink.Tasks: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.Net.Compilers.Toolset: from 4.10.0-2.24112.4 to 4.10.0-2.24113.3 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.roslyn: from 4.10.0-2.24112.4 to 4.10.0-2.24113.3 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-preview.2.24112.33 to 9.0.0-preview.2.24113.5 (parent: Microsoft.NET.Sdk)
- Delete obsolete format patch
- Update WASI container to react to 1a9e0cdb3b
- Update aspnetcore.proj
Contributes to https://github.com/dotnet/source-build/issues/3823
- Removes and consolidates vmr-cross-build.yml/ci-cross-build.yml POC into vmr-build.yml/ci.yml
- Add stage for building vertical/unified build legs into vmr-build.yml
- Adds Windows build and handling for Windows/Unix differences
Noticed in https://github.com/dotnet/installer/pull/18409 that errors aren't propagated which resulted in builds not to fail.
The fix here is to use `OnError` in the correct target (but only when using the minimal console log feature) and not set `IgnoreStandardErrorWarningFormat=true` on the Exec task that invokes the repo build script.
I also cleaned targets up as those introduced unnecessary complexity and logged in cases when they shouldn't (i.e. in dotnet.proj or package-source-build.proj).
This affected runtime which errors after 30s of building because of RuntimeOS and BaseOS being passed in in-correctly. Regressed with cca2b7bede (diff-86602308e6bb519266bc2f224ea65e39589d273804d40ad0f9c6e0eea2a263dc). Fixed that in runtime.proj. Kudos to Alexander who made the fix. I just copied it in form his CI PR.
[main] Update dependencies from dotnet/sdk
- Coherency Updates:
- Microsoft.WindowsDesktop.App.Ref: from 9.0.0-alpha.1.24061.5 to 9.0.0-alpha.1.24068.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0: from 9.0.0-alpha.1.24061.5 to 9.0.0-alpha.1.24068.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0: from 9.0.0-alpha.1.24061.5 to 9.0.0-alpha.1.24068.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.SharedFramework.x64.9.0: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Ref: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.TargetingPack.x64.9.0: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Host.win-x64: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.Platforms: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref.Internal: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Runtime.win-x64: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- dotnet-dev-certs: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- dotnet-user-jwts: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- dotnet-user-secrets: from 9.0.0-alpha.1.24061.8 to 9.0.0-alpha.1.24068.16 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.24061.5 to 9.0.0-alpha.1.24068.7 (parent: Microsoft.NET.Sdk)
- Microsoft.Dotnet.WinForms.ProjectTemplates: from 9.0.0-alpha.1.24060.12 to 9.0.0-alpha.1.24067.8 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.24061.5 to 9.0.0-alpha.1.24068.7 (parent: Microsoft.NET.Sdk)
- Microsoft.DotNet.Wpf.ProjectTemplates: from 9.0.0-alpha.1.24061.2 to 9.0.0-alpha.1.24068.3 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.FSharp.Compiler: from 12.8.200-beta.24060.3 to 12.8.300-beta.24066.3 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.fsharp: from 8.0.200-beta.24060.3 to 8.0.300-beta.24066.3 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Test.Sdk: from 17.10.0-preview-24059-03 to 17.10.0-preview-24067-01 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.ILLink.Tasks: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- Microsoft.Net.Compilers.Toolset: from 4.10.0-1.24061.4 to 4.10.0-1.24067.21 (parent: Microsoft.NET.Sdk)
- Microsoft.Build: from 17.10.0-preview-24060-03 to 17.10.0-preview-24068-04 (parent: Microsoft.NET.Sdk)
- NuGet.Build.Tasks: from 6.9.0-rc.74 to 6.9.0-rc.86 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-alpha.1.24061.26 to 9.0.0-alpha.1.24066.33 (parent: Microsoft.NET.Sdk)
- System.CommandLine: from 2.0.0-beta4.24059.2 to 2.0.0-beta4.24068.1 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.command-line-api: from 0.1.505902 to 0.1.506801 (parent: Microsoft.NET.Sdk)
- Optimistically delete roslyn patch and see what happens
- add roslyn patch
- Should be a single TFM for NetRoslyn
- Add format patch to remove dependency
... and simplify the Arcade Build.props extension point.
Move the build.proj source build logic into an extra targets file
so that infrastructure can be conditioned and then imported once.
[main] Update dependencies from dotnet/sdk
- Coherency Updates:
- Microsoft.WindowsDesktop.App.Ref: from 9.0.0-alpha.1.24060.1 to 9.0.0-alpha.1.24060.2 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0: from 9.0.0-alpha.1.24060.1 to 9.0.0-alpha.1.24060.2 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0: from 9.0.0-alpha.1.24060.1 to 9.0.0-alpha.1.24060.2 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref.Internal: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Runtime.win-x64: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- dotnet-dev-certs: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- dotnet-user-jwts: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- dotnet-user-secrets: from 9.0.0-alpha.1.24059.17 to 9.0.0-alpha.1.24060.3 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.24060.1 to 9.0.0-alpha.1.24060.2 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.24060.1 to 9.0.0-alpha.1.24060.2 (parent: Microsoft.NET.Sdk)
- Microsoft.FSharp.Compiler: from 12.8.200-beta.24055.2 to 12.8.200-beta.24060.2 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.fsharp: from 8.0.200-beta.24055.2 to 8.0.200-beta.24060.2 (parent: Microsoft.NET.Sdk)
- Rebaseline fsharp patch