Skip to content

[main] Update dependencies from dotnet/arcade #2228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 34 commits into from
Nov 2, 2023

Conversation

dotnet-maestro[bot]
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented Jun 22, 2023

This pull request updates the following dependencies

Coherency Updates

The following updates ensure that dependencies with a CoherentParentDependency
attribute were produced in a build used as input to the parent dependency's build.
See Dependency Description Format

  • Coherency Updates:
    • Microsoft.SourceLink.GitHub: from 1.2.0-beta-22518-02 to 8.0.0-beta.23361.2 (parent: Microsoft.DotNet.Arcade.Sdk)
    • Microsoft.DotNet.XliffTasks: from 1.0.0-beta.22631.1 to 1.0.0-beta.23360.1 (parent: Microsoft.DotNet.Arcade.Sdk)

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

  • Subscription: 272aed7a-a016-4fc1-8897-08d8446df6cf
  • Build: 20231028.2
  • Date Produced: October 28, 2023 8:08:38 PM UTC
  • Commit: bb2b4326ddf03d86c92bd125dba87e9d8df63463
  • Branch: refs/heads/main

dotnet-maestro bot and others added 17 commits June 22, 2023 09:33
…616.6

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23316.6

Dependency coherency updates

Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
 From Version 1.2.0-beta-22518-02 -> To Version 8.0.0-beta.23314.2 (parent: Microsoft.DotNet.Arcade.Sdk
…622.2

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23322.2

Dependency coherency updates

Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
 From Version 1.2.0-beta-22518-02 -> To Version 8.0.0-beta.23314.2 (parent: Microsoft.DotNet.Arcade.Sdk
…630.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23330.1

Dependency coherency updates

Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
 From Version 1.2.0-beta-22518-02 -> To Version 8.0.0-beta.23328.1 (parent: Microsoft.DotNet.Arcade.Sdk
…710.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23360.1

Dependency coherency updates

Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
 From Version 1.2.0-beta-22518-02 -> To Version 8.0.0-beta.23358.1 (parent: Microsoft.DotNet.Arcade.Sdk
…713.3

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23363.3

Dependency coherency updates

Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
 From Version 1.2.0-beta-22518-02 -> To Version 8.0.0-beta.23361.2 (parent: Microsoft.DotNet.Arcade.Sdk
…901.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23451.1
…913.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23463.1
…913.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23463.1
…913.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 8.0.0-beta.23463.1
…008.1

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23508.1
…010.4

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23510.4
…018.2

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23518.2
…027.3

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23527.3
…028.2

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23528.2
…028.2

Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.23052.2 -> To Version 9.0.0-beta.23528.2
@ViktorHofer
Copy link
Member

src/System.CommandLine.NamingConventionBinder/TypeExtensions.cs(54,40): error SYSLIB0050: (NETCORE_ENGINEERING_TELEMETRY=Build) 'FormatterServices' is obsolete: 'Formatter-based serialization is obsolete and should not be used.'

cc @GrabYourPitchforks

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 2, 2023

@MichalStrehovsky can you please with diagnosting this test failure:

MSBuild version 17.8.1+585e09762 for .NET
Determining projects to restore...
Restored /Users/runner/work/1/s/artifacts/bin/System.CommandLine.Tests/Release/net7.0/TestApps/NativeAOT/NativeAOT.csproj (in 4.97 sec).
NativeAOT -> /Users/runner/work/1/s/artifacts/bin/NativeAOT/Release/net7.0/osx-x64/NativeAOT.dll
/Users/runner/work/1/s/.packages/microsoft.dotnet.ilcompiler/7.0.0-preview.3.22123.2/build/Microsoft.DotNet.ILCompiler.targets(45,5): error : The PackageDefinitions ItemGroup is required for target ImportRuntimeIlcPackageTarget [/Users/runner/work/1/s/artifacts/bin/System.CommandLine.Tests/Release/net7.0/TestApps/NativeAOT/NativeAOT.csproj]

See

<PackageReference Include="Microsoft.DotNet.ILCompiler" Version="7.0.0-preview.3.22123.2" />
This repository targets the net7.0 TFM (in addition to a newer TFM under source build) but builds with the 8.0 RTM SDK. Can this package reference be replaced with the in-built support in the SDK or isn't that possible when targeting net7.0?

@MichalStrehovsky
Copy link
Member

This repository targets the net7.0 TFM (in addition to a newer TFM under source build) but builds with the 8.0 RTM SDK. Can this package reference be replaced with the in-built support in the SDK or isn't that possible when targeting net7.0?

Direct PackageReference to the ILCompiler package is unsupported. I'm impressed this didn't break much earlier.

I think the fix is just to delete the PackageReference and add <PublishAot>true</PublishAot> to the PropertyGroup. That's the supported mechanism to enable native AOT, unless I'm missing something about what this is testing.

@ViktorHofer
Copy link
Member

Thanks, will give that a try. As @GrabYourPitchforks is out, any idea what do about the binary serialization API call?

##[error]artifacts/source-build/self/src/src/System.CommandLine.NamingConventionBinder/TypeExtensions.cs(54,40): error SYSLIB0050: (NETCORE_ENGINEERING_TELEMETRY=Build) 'FormatterServices' is obsolete: 'Formatter-based serialization is obsolete and should not be used.' (https://aka.ms/dotnet-warnings/SYSLIB0050)

I see that this calls the public API System.Runtime.CompilerServices.System.Runtime.CompilerServices.GetUninitializedObject which isn't available on .NET Standard 2.0: https://apisof.net/catalog/63dacbcc-2631-8134-5bce-52c5d0a65db2

Here's the call:

_ when type.IsValueType => FormatterServices.GetUninitializedObject(type),

@MichalStrehovsky
Copy link
Member

MichalStrehovsky commented Nov 2, 2023

Thanks, will give that a try. As @GrabYourPitchforks is out, any idea what do about the binary serialization API call?

##[error]artifacts/source-build/self/src/src/System.CommandLine.NamingConventionBinder/TypeExtensions.cs(54,40): error SYSLIB0050: (NETCORE_ENGINEERING_TELEMETRY=Build) 'FormatterServices' is obsolete: 'Formatter-based serialization is obsolete and should not be used.' (https://aka.ms/dotnet-warnings/SYSLIB0050)

I see that this calls the public API System.Runtime.CompilerServices.System.Runtime.CompilerServices.GetUninitializedObject which isn't available on .NET Standard 2.0: https://apisof.net/catalog/63dacbcc-2631-8134-5bce-52c5d0a65db2

Here's the call:

_ when type.IsValueType => FormatterServices.GetUninitializedObject(type),

I would suppress the warning and file an issue in the runtime repo (linking to the issue from the suppression).

It doesn't look like the netstandard 2.0 angle was considered when marking the whole FormatterServices type obsolete. This particular method has nothing to do with binary serialization and IMHO could have been spared for netstandard 2.0 sake (i.e. instead of marking the whole type Obsolete, mark individual methods). There's no replacement for this API that works in netstandard.

@MichalStrehovsky
Copy link
Member

I would suppress the warning and file an issue in the runtime repo (linking to the issue from the suppression).

Or thinking more about it, is this multitargeting? Or why there is a warning if this is netstandard? Thinking about this, I would not expect this to be obsoleted in netstandard. If it's multitargeted, we could #ifdef to the new API outside of netstandard. It's annoying, but it's workable.

@ViktorHofer
Copy link
Member

Or thinking more about it, is this multitargeting? Or why there is a warning if this is netstandard? Thinking about this, I would not expect this to be obsoleted in netstandard. If it's multitargeted, we could #ifdef to the new API outside of netstandard. It's annoying, but it's workable.

Yeah, I was thinking the same and sent a commit doing exactly that.

@ViktorHofer
Copy link
Member

@MichalStrehovsky new one:

/Users/runner/work/1/s/.dotnet/sdk/8.0.100-rtm.23506.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1204: Ahead-of-time compilation is not supported on the current platform 'osx-x64'. [/Users/runner/work/1/s/artifacts/bin/System.CommandLine.Tests/Release/net7.0/TestApps/NativeAOT/NativeAOT.csproj]

Unsure how this worked before with the .NET 7 Preview 3 nuget package.

@MichalStrehovsky
Copy link
Member

@MichalStrehovsky new one:

/Users/runner/work/1/s/.dotnet/sdk/8.0.100-rtm.23506.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1204: Ahead-of-time compilation is not supported on the current platform 'osx-x64'. [/Users/runner/work/1/s/artifacts/bin/System.CommandLine.Tests/Release/net7.0/TestApps/NativeAOT/NativeAOT.csproj]

Unsure how this worked before with the .NET 7 Preview 3 nuget package.

We probably just didn't have the blocking in place in Preview 3. OSX was buggy in .NET 7 so we didn't ship it as a supported thing. Can we make the test not run on OSX? (And once repo updates to .NET 8 revert that, because we fixed it up early in .NET 8.)

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 2, 2023

@mthalman @MichaelSimons can you please help diagnose this prebuilt:

See https://aka.ms/dotnet/prebuilts for guidance on what pre-builts are and how to eliminate them.
Package IDs are:
Microsoft.NET.ILLink.Tasks.8.0.0-rtm.23504.8

@jonsequitur
Copy link
Contributor

Thanks, will give that a try. As @GrabYourPitchforks is out, any idea what do about the binary serialization API call?

##[error]artifacts/source-build/self/src/src/System.CommandLine.NamingConventionBinder/TypeExtensions.cs(54,40): error SYSLIB0050: (NETCORE_ENGINEERING_TELEMETRY=Build) 'FormatterServices' is obsolete: 'Formatter-based serialization is obsolete and should not be used.' (https://aka.ms/dotnet-warnings/SYSLIB0050)

I see that this calls the public API System.Runtime.CompilerServices.System.Runtime.CompilerServices.GetUninitializedObject which isn't available on .NET Standard 2.0: https://apisof.net/catalog/63dacbcc-2631-8134-5bce-52c5d0a65db2

Here's the call:

_ when type.IsValueType => FormatterServices.GetUninitializedObject(type),

System.CommandLine.NamingConventionBinder package isn't planned for a GA release. It was provided for backwards compatibility but removing it from the build would be fine.

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 2, 2023

System.CommandLine.NamingConventionBinder package isn't planned for a GA release. It was provided for backwards compatibility but removing it from the build would be fine.

Interesting. We already solved that build issue so it probably makes sense to keep it in here and open an issue to discuss its eventual removal if that's OK with you?

@mthalman
Copy link
Member

mthalman commented Nov 2, 2023

@mthalman @MichaelSimons Michael Simons (.NET) FTE can you please help diagnose this prebuilt:

See https://aka.ms/dotnet/prebuilts for guidance on what pre-builts are and how to eliminate them.
Package IDs are:
Microsoft.NET.ILLink.Tasks.8.0.0-rtm.23504.8

I don't have permission to push the fix to this branch. This should be applied to eng/SourceBuildPrebuiltBaseline.xml:

<!-- Picks this up from the SDK. This is allowed for the repo build and won't be an issue with full VMR
     build because it will be retrieved from the N-1 artifacts. -->
<UsagePattern IdentityGlob="Microsoft.NET.ILLink.Tasks/8.*" />

@jonsequitur
Copy link
Contributor

System.CommandLine.NamingConventionBinder package isn't planned for a GA release. It was provided for backwards compatibility but removing it from the build would be fine.

Interesting. We already solved that build issue so it probably makes sense to keep it in here and open an issue to discuss its eventual removal if that's OK with you?

That's fine. I suggested it in case it helps unblock the PR.

@jonsequitur jonsequitur merged commit 436f973 into main Nov 2, 2023
@dotnet-maestro dotnet-maestro bot deleted the darc-main-3a82dc2f-3a2a-4050-918c-186b02e8aba0 branch November 2, 2023 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants