Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tests/Microsoft.DotNet.Docker.Tests/OS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ internal static class OS
public static OSInfo JammyChiseled { get; } = Jammy with { IsDistroless = true };
public static OSInfo Noble { get; } = new(OSType.Linux, OSFamily.Ubuntu, "24.04");
public static OSInfo NobleChiseled { get; } = Noble with { IsDistroless = true };
public static OSInfo Resolute { get; } = new(OSType.Linux, OSFamily.Ubuntu, "26.04");
public static OSInfo Resolute { get; } = new(OSType.Linux, OSFamily.Ubuntu, "26.04", IsUnstable: true);
public static OSInfo ResoluteChiseled { get; } = Resolute with { IsDistroless = true };

// Windows - Nano Server
Expand Down
7 changes: 6 additions & 1 deletion tests/Microsoft.DotNet.Docker.Tests/OSInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,16 @@ public enum OSFamily
/// "3.23" for Alpine, "26.04" for Ubuntu, "LTSC 2025" for Windows Server Core.
/// </param>
/// <param name="IsDistroless">Whether the OS is distroless.</param>
/// <param name="IsUnstable">
/// Whether the OS version is unstable (pre-release or not yet generally
/// available).
/// </param>
public sealed record OSInfo(
OSType Type,
OSFamily Family,
string Version,
bool IsDistroless = false)
bool IsDistroless = false,
bool IsUnstable = false)
{
/// <summary>
/// Gets the tag name for this OS, used in Docker image tags.
Expand Down
56 changes: 3 additions & 53 deletions tests/Microsoft.DotNet.Docker.Tests/ProductImageTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,9 @@ internal void VerifyInstalledPackagesBase(
DotNetImageRepo imageRepo,
IEnumerable<string> extraExcludePaths = null)
{
// Temporary: Skip package tests for Ubuntu 26.04 Resolute to unblock publishing
// These tests are flaky and the long-term fix is tracked in https://github.com/dotnet/dotnet-docker/pull/6894
if (imageData.OS.Contains(OS.Resolute))
if (imageData.OS.IsUnstable)
{
OutputHelper.WriteLine("Skipping package test for Ubuntu 26.04 Resolute due to flaky package baseline tests. " +
"Long-term fix tracked in https://github.com/dotnet/dotnet-docker/pull/6894");
OutputHelper.WriteLine("Skipping package verification for unstable OS");
return;
}

Expand Down Expand Up @@ -322,33 +319,6 @@ private static IEnumerable<string> GetRuntimeDepsPackages(ProductImageData image
"openssl",
"libstdc++6"
],
{ OS: var os, Arch: Arch.Amd64 } when os == OS.ResoluteChiseled =>
[
"ca-certificates",
"gcc-14-base",
"gcc-15",
"libc6",
"libgcc-s1",
"libssl3t64",
"libstdc++6",
"libzstd",
"libzstd1",
"openssl",
"openssl-provider-legacy",
"zlib"
],
{ OS: var os } when os == OS.ResoluteChiseled =>
[
"ca-certificates",
"gcc-14-base",
"libc6",
"libgcc-s1",
"libssl3t64",
"libstdc++6",
"libzstd1",
"openssl",
"zlib"
],
{ OS: { Family: OSFamily.Ubuntu, Version: "24.04" } } =>
[
"ca-certificates",
Expand All @@ -359,16 +329,6 @@ private static IEnumerable<string> GetRuntimeDepsPackages(ProductImageData image
"openssl",
"libstdc++6"
],
{ OS: { Family: OSFamily.Ubuntu, Version: "26.04" } } =>
[
"ca-certificates",
"gcc-15-base",
"libc6",
"libgcc-s1",
"libssl3t64",
"openssl",
"libstdc++6"
],
{ OS.Family: OSFamily.Alpine } =>
[
"ca-certificates-bundle",
Expand All @@ -391,11 +351,7 @@ private static IEnumerable<string> GetRuntimeDepsPackages(ProductImageData image

// zlib is not required for .NET 9+
// - https://github.com/dotnet/dotnet-docker/issues/5687
// Starting with Ubuntu 25.04 (Plucky), zlib is a dependency of libssl3t64
// - https://packages.ubuntu.com/plucky/amd64/libssl3t64
// - https://packages.ubuntu.com/resolute/amd64/libssl3t64
// - https://github.com/canonical/chisel-releases/blob/ubuntu-26.04/slices/libssl3t64.yaml
if (imageData.Version.Major == 8 || imageData.OS.Version == "26.04")
if (imageData.Version.Major == 8)
{
packages = [..packages, GetZLibPackage(imageData.OS)];
}
Expand All @@ -422,12 +378,6 @@ private static string GetZLibPackage(OSInfo os)
"tzdata-legacy",
"tzdata"
},
{ OS: var os } when os == OS.ResoluteChiseled => new[]
{
"icu",
"libicu76",
"tzdata"
},
{ OS: var os } when os == OS.JammyChiseled => new[]
{
"libicu70",
Expand Down