Skip to content
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

Add Ubuntu 23.10 (Mantic Minotaur) RIDs to .NET 7 #86306

Conversation

dviererbe
Copy link
Contributor

@dviererbe dviererbe commented May 16, 2023

main PR #85912

Description

Adds the Ubuntu 23.10 (Mantic Minotaur) RIDs to .NET 7

  • library Microsoft.NETCore.Platforms
    • added RIDs to runtime.compatibility.json
    • added RIDs to runtime.json
    • added Mantic Version Id to Ubuntu runtimeGroups.props
    • incremented ServicingVersion in Microsoft.NETCore.Platforms.csproj

Customer Impact

Will be able to target their build specifically for Ubuntu 23.10 (Mantic Minotaur) or include Ubuntu 23.10 (Mantic Minotaur) platform-specific assets.

Regression

No.

Testing

  1. From a clean copy of your branch, run build.sh libs -allconfigurations
  2. Check in artifacts/bin/packages/Debug for the existence of Microsoft.NETCore.Platforms, with the appropriate package version.
    • test -d artifacts/bin/Microsoft.NETCore.Platforms/ && echo "Ok"
    • test -e artifacts/bin/Microsoft.NETCore.Platforms/Debug/net7.0/Microsoft.NETCore.Platforms.BuildTasks.dll && echo "Ok"
  3. Try installing the built package in a test application, testing that your changes to the library are present & working as expected.
    • grep ubuntu.23.10 artifacts/bin/Microsoft.NETCore.Platforms/Debug/runtime.json.dgml shows
      <Node Id="ubuntu.23.10" />
      <Node Id="ubuntu.23.10-x64" />
      <Node Id="ubuntu.23.10-x86" />
      <Node Id="ubuntu.23.10-arm" />
      <Node Id="ubuntu.23.10-arm64" />
      <Link Source="ubuntu.23.10" Target="ubuntu" />
      <Link Source="ubuntu.23.10-x64" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-x64" Target="ubuntu-x64" />
      <Link Source="ubuntu.23.10-x86" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-x86" Target="ubuntu-x86" />
      <Link Source="ubuntu.23.10-arm" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-arm" Target="ubuntu-arm" />
      <Link Source="ubuntu.23.10-arm64" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-arm64" Target="ubuntu-arm64" />
      
    • Check if Microsoft.NETCore.Platforms Library functions are callable
      export DOTNET_REPO=$PWD
      mkdir ../TestApp
      cd ../TestApp
      
      cat <<'EOF' >TestApp.csproj
      <Project Sdk="Microsoft.NET.Sdk">
          <PropertyGroup>
              <OutputType>Exe</OutputType>
              <TargetFramework>net7.0</TargetFramework>
              <ImplicitUsings>enable</ImplicitUsings>
              <Nullable>enable</Nullable>
          </PropertyGroup>
          <ItemGroup>
              <Reference Include="Microsoft.NETCore.Platforms.BuildTasks">
                  <HintPath>$(DOTNET_REPO)/artifacts/bin/Microsoft.NETCore.Platforms/Debug/net7.0/Microsoft.NETCore.Platforms.BuildTasks.dll</HintPath>
              </Reference>
          </ItemGroup>
      </Project>
      EOF
      
      cat <<EOF >Program.cs
      using Microsoft.NETCore.Platforms.BuildTasks;
      
      // Test that library functions can be called
      var rid = RID.Parse("ubuntu.23.10-x64", noQualifier: true);
      Console.WriteLine("Mantic Minotaur: " + rid.ToString());
      
      Console.WriteLine("Ok");
      EOF
      
      dotnet run

As far as I can tell the change works as expected.

Note: Builds & local Tests pass in ppa:dviererbe/dotnet7-0-105-mantic-2 (link) with this patch applied.

Risk

As for every change an unintended regression could be introduced. The risk for this is minimal, as the PR into main (#84983) and a recent similar PR for Ubuntu 22.10 (Kinetic Kudu) for.NET 7 (#84984) and .NET 6 (#85912) passed

Package authoring signed off?

Adding the Ubuntu 23.10 (Mantic Minotaur) RIDs was also suggested by @wfurt (see: #84984 (comment))

 * library Microsoft.NETCore.Platforms
   - added RIDs to runtime.compatibility.json
   - added RIDs to runtime.json
   - added Mantic Version Id to Ubuntu runtimeGroups.props
   - incremented ServicingVersion in Microsoft.NETCore.Platforms.csproj
@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label May 16, 2023
@ghost
Copy link

ghost commented May 16, 2023

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

main PR #85912

Description

Adds the Ubuntu 23.10 (Mantic Minotaur) RIDs to .NET 7

  • library Microsoft.NETCore.Platforms
    • added RIDs to runtime.compatibility.json
    • added RIDs to runtime.json
    • added Mantic Version Id to Ubuntu runtimeGroups.props
    • incremented ServicingVersion in Microsoft.NETCore.Platforms.csproj

Customer Impact

Will be able to target their build specifically for Ubuntu 23.10 (Mantic Minotaur) or include Ubuntu 23.10 (Mantic Minotaur) platform-specific assets.

Regression

No.

Testing

  1. From a clean copy of your branch, run build.sh libs -allconfigurations
  2. Check in artifacts/bin/packages/Debug for the existence of Microsoft.NETCore.Platforms, with the appropriate package version.
    • test -d artifacts/bin/Microsoft.NETCore.Platforms/ && echo "Ok"
    • test -e artifacts/bin/Microsoft.NETCore.Platforms/Debug/net7.0/Microsoft.NETCore.Platforms.BuildTasks.dll && echo "Ok"
  3. Try installing the built package in a test application, testing that your changes to the library are present & working as expected.
    • grep ubuntu.23.10 artifacts/bin/Microsoft.NETCore.Platforms/Debug/runtime.json.dgml shows
      <Node Id="ubuntu.23.10" />
      <Node Id="ubuntu.23.10-x64" />
      <Node Id="ubuntu.23.10-x86" />
      <Node Id="ubuntu.23.10-arm" />
      <Node Id="ubuntu.23.10-arm64" />
      <Link Source="ubuntu.23.10" Target="ubuntu" />
      <Link Source="ubuntu.23.10-x64" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-x64" Target="ubuntu-x64" />
      <Link Source="ubuntu.23.10-x86" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-x86" Target="ubuntu-x86" />
      <Link Source="ubuntu.23.10-arm" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-arm" Target="ubuntu-arm" />
      <Link Source="ubuntu.23.10-arm64" Target="ubuntu.23.10" />
      <Link Source="ubuntu.23.10-arm64" Target="ubuntu-arm64" />
      
    • Check if Microsoft.NETCore.Platforms Library functions are callable
      mkdir TestApp
      cd TestApp
      
      cat <<EOF >TestApp.csproj
      <Project Sdk="Microsoft.NET.Sdk">
          <PropertyGroup>
              <OutputType>Exe</OutputType>
              <TargetFramework>net7.0</TargetFramework>
              <ImplicitUsings>enable</ImplicitUsings>
              <Nullable>enable</Nullable>
          </PropertyGroup>
          <ItemGroup>
              <Reference Include="Microsoft.NETCore.Platforms.BuildTasks">
                  <HintPath>../artifacts/bin/Microsoft.NETCore.Platforms/Debug/net7.0/Microsoft.NETCore.Platforms.BuildTasks.dll</HintPath>
              </Reference>
          </ItemGroup>
      </Project>
      EOF
      
      cat <<EOF >Program.cs
      using Microsoft.NETCore.Platforms.BuildTasks;
      
      // Test that library functions can be called
      var rid = RID.Parse("ubuntu.23.10-x64", noQualifier: true);
      Console.WriteLine("Mantic Minotaur: " + rid.ToString());
      
      Console.WriteLine("Ok");
      EOF
      
      dotnet run

As far as I can tell the change works as expected.

Note: Builds & local Tests pass in ppa:dviererbe/dotnet7-0-105-mantic-2 (link) with this patch applied.

Risk

As for every change an unintended regression could be introduced. The risk for this is minimal, as the PR into main (#84983) and a recent similar PR for Ubuntu 22.10 (Kinetic Kudu) for.NET 7 (#84984) and .NET 6 (#85912) passed

Package authoring signed off?

Adding the Ubuntu 23.10 (Mantic Minotaur) RIDs was also suggested by @wfurt (see: #84984 (comment))

Author: dviererbe
Assignees: -
Labels:

area-Infrastructure-libraries, community-contribution

Milestone: -

@dviererbe
Copy link
Contributor Author

I do not see how the "Libraries Build windows allConfigurations x64 Debug" failures

  • Unable to find a stable package Microsoft.Extensions.Logging.Abstractions with version (>= 7.0.1)
  • Unable to find a stable package System.DirectoryServices.Protocols with version (>= 7.0.1)
  • Unable to find a stable package System.Management with version (>= 7.0.2)

should be caused by my change

Copy link
Member

@carlossanlop carlossanlop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need this in the June release so the servicing version number needs to only be bumped once (stay in 3).

@@ -24,7 +24,7 @@
<_generateRuntimeGraphTask>$([MSBuild]::NormalizePath('$(BaseOutputPath)', $(Configuration), '$(_generateRuntimeGraphTargetFramework)', '$(AssemblyName).dll'))</_generateRuntimeGraphTask>
<!-- When building from source, ensure the RID we're building for is part of the RID graph -->
<AdditionalRuntimeIdentifiers Condition="'$(DotNetBuildFromSource)' == 'true'">$(AdditionalRuntimeIdentifiers);$(OutputRID)</AdditionalRuntimeIdentifiers>
<ServicingVersion>3</ServicingVersion>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to stay 3 if we are to insert this into the June release.

@ghost ghost added the needs-author-action An issue or pull request that requires more info or actions from the author. label May 16, 2023
@ghost ghost removed the needs-author-action An issue or pull request that requires more info or actions from the author. label May 16, 2023
Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@carlossanlop carlossanlop added the Servicing-approved Approved for servicing release label May 16, 2023
@carlossanlop carlossanlop added this to the 7.0.7 milestone May 16, 2023
@carlossanlop carlossanlop merged commit 92f8090 into dotnet:release/7.0-staging May 16, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Jun 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-libraries community-contribution Indicates that the PR has been added by a community member Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants