Skip to content

Conversation

@dotnet-maestro
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented Nov 5, 2025

Note

This is a codeflow update. It may contain both source code changes from the VMR as well as dependency updates. Learn more here.

This pull request brings the following source code changes

From https://github.com/dotnet/dotnet

Updated Dependencies

Associated changes in source repos

Updated Dependencies:
Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.Analyzers, Microsoft.CodeAnalysis.CSharp, Microsoft.Net.Compilers.Toolset (Version 5.0.0-2.25515.111 -> 5.0.0-2.25554.104)
Microsoft.CodeAnalysis.NetAnalyzers, Microsoft.DotNet.ApiCompat.Task (Version 10.0.100 -> 10.0.101)
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Archives, Microsoft.DotNet.Build.Tasks.Feed, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Packaging, Microsoft.DotNet.Build.Tasks.TargetFramework, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Build.Tasks.Workloads, Microsoft.DotNet.CodeAnalysis, Microsoft.DotNet.GenAPI, Microsoft.DotNet.GenFacades, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.PackageTesting, Microsoft.DotNet.RemoteExecutor, Microsoft.DotNet.SharedFramework.Sdk, Microsoft.DotNet.XliffTasks, Microsoft.DotNet.XUnitExtensions (Version 10.0.0-beta.25515.111 -> 10.0.0-beta.25554.104)
Microsoft.DotNet.Cecil (Version 0.11.5-alpha.25515.111 -> 0.11.5-alpha.25554.104)
Microsoft.DotNet.XUnitAssert, Microsoft.DotNet.XUnitConsoleRunner (Version 2.9.3-beta.25515.111 -> 2.9.3-beta.25554.104)
Microsoft.NET.Sdk.IL, Microsoft.NETCore.App.Ref, Microsoft.NETCore.ILAsm, runtime.native.System.IO.Ports, System.Reflection.Metadata, System.Reflection.MetadataLoadContext, System.Text.Json (Version 10.0.0 -> 10.0.1)
Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport (Version 10.0.100-rtm.25515.111 -> 10.0.101-servicing.25554.104)
NuGet.Frameworks, NuGet.Packaging, NuGet.ProjectModel, NuGet.Versioning (Version 7.0.0-rc.1611 -> 7.0.0-rc.5504)
System.CommandLine (Version 2.0.0 -> 2.0.1)
Microsoft.DotNet.XHarness.TestRunners.Common, Microsoft.DotNet.XHarness.TestRunners.Xunit, Microsoft.DotNet.XHarness.CLI (Version 10.0.0-prerelease.25527.1 -> 10.0.0-prerelease.25506.2)
@steveisok
Copy link
Member

@dotnet/runtime-infrastructure linker tests are failing with PackageReference System.Threading.AccessControl will not be pruned.. Are there supplemental changes coming that need to work their way through?

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Nov 6, 2025

Important

The source repository has received code changes from an opposite flow. Any additional codeflows into this PR may potentially result in lost changes.

Please continue with one of the following options:

  1. Close or merge this PR and let the codeflow continue normally
  2. Close or merge this PR and receive the new codeflow immediately by triggering the subscription:
    darc trigger-subscriptions --id 74dc5d43-0b13-491a-b063-0f03b26d7664
  3. Force-flow new changes into this PR at your own risk (some PR commits might be reverted):
    darc trigger-subscriptions --force --id 74dc5d43-0b13-491a-b063-0f03b26d7664

💡 You may consult the FAQ for more information or tag @dotnet/product-construction for assistance.

@akoeplinger
Copy link
Member

@ericstj ^

@ericstj ericstj requested a review from marek-safar as a code owner November 6, 2025 17:48
@dotnet-policy-service dotnet-policy-service bot added the linkable-framework Issues associated with delivering a linker friendly framework label Nov 6, 2025
@ericstj
Copy link
Member

ericstj commented Nov 6, 2025

@akoeplinger This hack should be removed, like you did in main. 2abf811

Interesting that it took this long for that change to be observed by Mono.Linker.Tests.csproj. Those must not actually be building against the live product. Nevermind, I see why this just hit now. It was bugfix in RC2 that fixed the pruning data to include this package which moved down in 10.0. It does mean that these are building against SDK targeting pack instead of live built, which is probably an unfortunate design of this subset.

@ericstj
Copy link
Member

ericstj commented Nov 6, 2025

Looks like this test is failing due to wrong RuntimeInformation.FrameworkDesciprtion. It would seem the validation build has a stable version but STABILIZE_PACKAGE_VERSION might not be set.

I grabbed a binlog and noticed -->
InformationalVersion = 10.0.1

This is happening because of this -->

<InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(PreReleaseVersionLabel)' == 'servicing'">$(ProductVersion)</InformationalVersion>

And this PR changed the PreReleaseVersionLabel to servicing.

What's our expectation here?
#83311 changed this behavior - which has been around since 8.0.

It looks like 9.0 servicing set both

<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>

While this is not set in 10.0

<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>

So maybe that's what we should do here, that would fix these tests, since they use this to control the behavior. @mmitche @akoeplinger ?

@steveisok
Copy link
Member

@ericstj @mmitche @akoeplinger ping on ^

@mmitche
Copy link
Member

mmitche commented Nov 13, 2025

@ericstj The stabilization setting isn't controlled at the repo level in UB. It's essentially a pipeline parameter. Is it possible to avoid assumptions based on the servicing label?

The reason I ask is that we may still produce non-stable servicing builds, possibly for hotfixes.

@ericstj
Copy link
Member

ericstj commented Nov 14, 2025

So right now, the product has the correct value (stable), it's just the tests that are wrong (assuming not stable). I'm guessing we want to preserve this, even for pre-release hotfixes - but that's up for debate.

Tests have behavior that differs by the value of DotNetFinalVersionKind

<DefineConstants Condition="'$(DotNetFinalVersionKind)' != ''">$(DefineConstants);STABILIZE_PACKAGE_VERSION</DefineConstants>

While the product's behavior differs off of PreReleaseVersionLabel

<InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(VersionSuffix)' == ''">$(ProductVersion)</InformationalVersion>
<InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(PreReleaseVersionLabel)' == 'servicing'">$(ProductVersion)</InformationalVersion>
<InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(VersionSuffix)' != ''">$(ProductVersion)-$(VersionSuffix)</InformationalVersion>

I shared those other properties to show how this was working before.

Maybe we just make the tests honor DotNetFinalVersionKind to fix this, and avoid those other intermediate properties. Separately folks can decide what they want the behavior to be for pre-release hotfixes.

@ViktorHofer
Copy link
Member

Regarding pruning:

It does mean that these are building against SDK targeting pack instead of live built, which is probably an unfortunate design of this subset.

Note that even if those components build with the live targeting pack, work needs to be done in runtime to give the SDK the live PackageOverrides.txt for pruning. Filed #121611

@ericstj
Copy link
Member

ericstj commented Nov 25, 2025

Crud, now this is blocked on #120589. I wonder what timezone that brown-out is following...

@ericstj
Copy link
Member

ericstj commented Nov 26, 2025

@akoeplinger @lewing back to a workload install errors

❌src/mono/nuget/Microsoft.NET.Runtime.WorkloadTesting.Internal/Sdk/WorkloadTesting.Core.targets(201,5): error : Restoring packages failed with exit code: 1. Output: Determining projects to restore... /__w/1/s/artifacts/obj/workload-qdkokvip.ind/nics1ynn.rs5/restore/Restore.csproj : error NU1101: Unable to find package Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100-servicing.25554. No packages exist with this id in source(s): api-baseline-feed, darc-pub-dotnet-dotnet-8ee0cc0, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet10, dotnet10-transport, general-testing, nuget-local Failed to restore /__w/1/s/artifacts/obj/workload-qdkokvip.ind/nics1ynn.rs5/restore/Restore.csproj (in 551 ms).
❌src/mono/nuget/Microsoft.NET.Runtime.WorkloadTesting.Internal/Sdk/WorkloadTesting.Core.targets(201,5): error : Could not install manifest Microsoft.NET.Workload.Emscripten.Current/10.0.101-servicing.25554.104. This can be ignored if the workload wasm-tools doesn't depend on it.
❌src/mono/nuget/Microsoft.NET.Runtime.WorkloadTesting.Internal/Sdk/WorkloadTesting.Core.targets(201,5): error : Workload installation failed: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Current' version '10.0.100' is lower than version '10.0.101-servicing.25554.104' required by manifest 'microsoft.net.workload.mono.toolchain.current' [/__w/1/s/artifacts/bin/dotnet-latest/sdk-manifests/10.0.100/microsoft.net.workload.mono.toolchain.current/10.0.100/WorkloadManifest.json]
❌src\mono\nuget\Microsoft.NET.Runtime.WorkloadTesting.Internal\Sdk\WorkloadTesting.Core.targets(201,5): error : Restoring packages failed with exit code: 1. Output: Determining projects to restore... D:\a\_work\1\s\artifacts\obj\workload-yt1wayly.nsh\liwtyix5.zp2\restore\Restore.csproj : error NU1101: Unable to find package Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100-servicing.25554. No packages exist with this id in source(s): api-baseline-feed, darc-pub-dotnet-dotnet-8ee0cc0, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet10, dotnet10-transport, general-testing, nuget-local Failed to restore D:\a\_work\1\s\artifacts\obj\workload-yt1wayly.nsh\liwtyix5.zp2\restore\Restore.csproj (in 277 ms).
❌src\mono\nuget\Microsoft.NET.Runtime.WorkloadTesting.Internal\Sdk\WorkloadTesting.Core.targets(201,5): error : Could not install manifest Microsoft.NET.Workload.Emscripten.Current/10.0.101-servicing.25554.104. This can be ignored if the workload wasm-tools doesn't depend on it.
❌src\mono\nuget\Microsoft.NET.Runtime.WorkloadTesting.Internal\Sdk\WorkloadTesting.Core.targets(201,5): error : Workload installation failed: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Current' version '10.0.100' is lower than version '10.0.101-servicing.25554.104' required by manifest 'microsoft.net.workload.mono.toolchain.current' [D:\a\_work\1\s\artifacts\bin\dotnet-latest\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.current\10.0.100\WorkloadManifest.json]

@ericstj
Copy link
Member

ericstj commented Dec 3, 2025

** Installing sdk 10.0.101 for workload based tests into /__w/1/s/artifacts/bin/dotnet-none/
  Downloading from "[https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh"](https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh%22) to "/__w/1/s/artifacts/obj/dotnet-install.sh" ( bytes).
  dotnet-install: Attempting to download using primary link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz
  dotnet-install: The resource at primary link 'https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz' is not available.
  dotnet-install: Attempting to download using primary link https://ci.dot.net/public/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz
  dotnet-install: The resource at primary link 'https://ci.dot.net/public/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz' is not available.
  dotnet_install: Error: Could not find `.NET Core SDK` with version = 10.0.101

We shouldn't be counting on public availability of the SDK. This was the same error I was fixing before -- 4430b5d. Unless there is some way to tell those install scripts a different endpoint to use to fetch the bits.

@lewing
Copy link
Member

lewing commented Dec 3, 2025

** Installing sdk 10.0.101 for workload based tests into /__w/1/s/artifacts/bin/dotnet-none/
  Downloading from "[https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh"](https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh%22) to "/__w/1/s/artifacts/obj/dotnet-install.sh" ( bytes).
  dotnet-install: Attempting to download using primary link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz
  dotnet-install: The resource at primary link 'https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz' is not available.
  dotnet-install: Attempting to download using primary link https://ci.dot.net/public/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz
  dotnet-install: The resource at primary link 'https://ci.dot.net/public/Sdk/10.0.101/dotnet-sdk-10.0.101-linux-x64.tar.gz' is not available.
  dotnet_install: Error: Could not find `.NET Core SDK` with version = 10.0.101

We shouldn't be counting on public availability of the SDK. This was the same error I was fixing before -- 4430b5d. Unless there is some way to tell those install scripts a different endpoint to use to fetch the bits.

yeah, I realized that after the fact. I wonder if installable artifacts are available anywhere?

@lewing
Copy link
Member

lewing commented Dec 3, 2025

@ericstj I think this ok to merge now and we can backport any further cleanup from main as needed, any objections?

@ericstj
Copy link
Member

ericstj commented Dec 3, 2025

So long as build analysis is green / effectively green I'm ok to merge.

@lewing
Copy link
Member

lewing commented Dec 4, 2025

It turns out the -servicing transport version is installable so I will fix this properly tomorrow

@lewing
Copy link
Member

lewing commented Dec 4, 2025

Ok that worked for installing the stable sdk but looks like wbt build isn't locating the stable feed

@lewing lewing disabled auto-merge December 5, 2025 22:16
@lewing lewing merged commit 168f998 into release/10.0 Dec 5, 2025
162 of 168 checks passed
@lewing lewing deleted the darc-release/10.0-dff90b19-95ba-456f-a4a6-a82885e38181 branch December 5, 2025 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-codeflow for labeling automated codeflow linkable-framework Issues associated with delivering a linker friendly framework Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants