From 517c5c38f73ac7510428afd6ddfd6aee9558fdb3 Mon Sep 17 00:00:00 2001 From: lawrencegripper Date: Wed, 4 Dec 2024 17:12:48 +0000 Subject: [PATCH] [ubuntu] Add documentation on .NET core changes for 2404 This adds a short document detailing the changes .NET Core team have made related to Ubuntu. It provides a brief overview of the implications and how to resolve issues caused by this change. --- README.md | 2 +- docs/dotnet-ubuntu.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 docs/dotnet-ubuntu.md diff --git a/README.md b/README.md index 0f32f0cb1488..509a8a9a0eb9 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ The `-latest` migration process is gradual and happens over 1-2 months in order | Go | 3 latest minor versions | | Python
Ruby | 5 most popular `major.minor` versions | | PyPy | 3 most popular `major.minor` versions | -| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed | +| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed. Note for [Ubuntu images see details.](./docs/dotnet-ubuntu.md) | | GCC
GNU Fortran
Clang
GNU C++ | 3 latest major versions | | Android NDK | 1 latest non-LTS, 2 latest LTS versions | | Xcode | - only one major version of Xcode will be supported per macOS version
- all minor versions of the supported major version will be available
- beta and RC versions will be provided "as-is" in the latest available macOS image only no matter of beta/GA status of the image
- when a new patch version is released, the previous patch version will be replaced | diff --git a/docs/dotnet-ubuntu.md b/docs/dotnet-ubuntu.md new file mode 100644 index 000000000000..7f0eb1ec8221 --- /dev/null +++ b/docs/dotnet-ubuntu.md @@ -0,0 +1,33 @@ +# Ubuntu .NET Core Versions + +.NET has changed the recommended install methods for Ubuntu from 2404. + +This document gives an overview of these change and the impact this has on the `runner-images`. + +## .NET Core for Ubuntu 2004 and 2024 + +2004 and 2024 use the [Microsoft Package repository](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2004) to install .NET deb files built and published by the .NET team. + +## .NET Core Versions from Ubuntu 2404 + +The .NET Core team have worked with Canonical and Ubuntu now provides its own .NET packages. + +These are the recommended install path and, as-such what is installed on the image. + +> The release of Ubuntu 24.04 is just around the corner. Canonical-produced .NET 6, 7, and 8 packages will be available on day one, for "Noble Numbat". Microsoft will not be publishing .NET packages to the 24.04 feed at packages.microsoft.com. + +You can read the [full announcement from .NET team here](https://github.com/dotnet/core/discussions/9258). We'll briefly summarize how this change may impact users of the image. + +### [`Feature Bands`](https://learn.microsoft.com/dotnet/core/porting/versioning-sdk-msbuild-vs) + +Going forward only the `1xx` feature band will be present in the image as Ubuntu only build and publish this band. + +> Most distros, including Ubuntu, stick to the .1xx feature band for the lifetime of a major .NET version. They make this choice because .1xx is (effectively) the "compatibility band". Higher bands can have breaking changes. This means there will no longer be packages available for .2xx and later feature bands. Such packages have been exclusively available from Microsoft. If users see an incompatibility between .1xx and higher feature bands, we ask that you please report it in the dotnet/sdk repo. [link: dotnet/core discussion](https://github.com/dotnet/core/discussions/9258) + +If you need a higher feature band for your Actions the recommendation is to use the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version. + +### .NET MAUI + +.NET MAUI is [not included](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857) in the Ubuntu .NET package. There is work [ongoing to fix.](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857) + +You should be able to resolve this by using the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version.