diff --git a/.portal-docs/docker-hub/README.aspire-dashboard.md b/.portal-docs/docker-hub/README.aspire-dashboard.md index a179270f12..e80790e29c 100644 --- a/.portal-docs/docker-hub/README.aspire-dashboard.md +++ b/.portal-docs/docker-hub/README.aspire-dashboard.md @@ -1,7 +1,7 @@ # Featured Tags -* `8.2` - * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2` +* `9.0` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:9.0` # About diff --git a/.portal-docs/mar/README.aspire-dashboard.portal.md b/.portal-docs/mar/README.aspire-dashboard.portal.md index b9b224ca6d..7d1b0e47ac 100644 --- a/.portal-docs/mar/README.aspire-dashboard.portal.md +++ b/.portal-docs/mar/README.aspire-dashboard.portal.md @@ -6,8 +6,8 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori ## Featured Tags -* `8.2` - * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2` +* `9.0` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:9.0` ## Related Repositories diff --git a/README.aspire-dashboard.md b/README.aspire-dashboard.md index f2d46b8ece..6d78dc3b52 100644 --- a/README.aspire-dashboard.md +++ b/README.aspire-dashboard.md @@ -2,8 +2,8 @@ ## Featured Tags -* `8.2` - * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2` +* `9.0` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:9.0` ## About @@ -113,13 +113,13 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures Tags | Dockerfile | OS Version -----------| -------------| ------------- -8.2.1, 8.2, 8, latest | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +9.0.0, 9.0, 9, latest | [Dockerfile](src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -8.2.1, 8.2, 8, latest | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +9.0.0, 9.0, 9, latest | [Dockerfile](src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 *Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/dotnet/aspire-dashboard/tags/list) for all supported and unsupported tags.* diff --git a/build-and-test.ps1 b/build-and-test.ps1 index 18d88d9f7c..8f07209cea 100644 --- a/build-and-test.ps1 +++ b/build-and-test.ps1 @@ -20,8 +20,8 @@ param( [string]$Mode = "BuildAndTest", # Categories of tests to run - [ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor")] - [string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor") + [ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor", "aspire-dashboard")] + [string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor", "aspire-dashboard") ) if ($Version -notmatch '^\d+\.\d+(\.[\d*])?|\*$') { diff --git a/eng/dockerfile-templates/aspire-dashboard/Dockerfile.envs b/eng/dockerfile-templates/aspire-dashboard/Dockerfile.envs index a5f109616a..e946186210 100644 --- a/eng/dockerfile-templates/aspire-dashboard/Dockerfile.envs +++ b/eng/dockerfile-templates/aspire-dashboard/Dockerfile.envs @@ -1,7 +1,12 @@ -ENV \ +{{ + set dotnetMajor to split(PRODUCT_VERSION, ".")[0] +}}ENV \ # Unset ASPNETCORE_HTTP_PORTS from base image ASPNETCORE_HTTP_PORTS= \ # Aspire Dashboard environment variables - ASPNETCORE_URLS=http://0.0.0.0:18888 \ + {{if dotnetMajor = "8":ASPNETCORE_URLS=http://0.0.0.0:18888 \ DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \ - DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890 + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890^ + else:ASPNETCORE_URLS=http://+:18888 \ + DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \ + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890}} \ No newline at end of file diff --git a/eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux b/eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux index ec233f2ef7..495ec5ad97 100644 --- a/eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux +++ b/eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux @@ -3,7 +3,7 @@ set dotnetMajorMinor to cat(dotnetMajor, ".0") ^ set isAzureLinux to find(OS_VERSION, "mariner") >= 0 || find(OS_VERSION, "azurelinux") >= 0 ^ set aspnetBaseTag to - cat("$REPO:", VARIABLES[cat("dotnet|", dotnetMajorMinor, "|product-version")], "-", OS_VERSION, "-extra", ARCH_TAG_SUFFIX) ^ + cat("$REPO:", VARIABLES[cat("dotnet|8.0|product-version")], "-", OS_VERSION, "-extra", ARCH_TAG_SUFFIX) ^ set osVersionBase to match(OS_VERSION, ".+(?=.*-)")[0] ^ set installerImageTag to when(isAzureLinux, cat("mcr.microsoft.com/", diff --git a/eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml b/eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml index 11927b2c44..4a4dd0cd94 100644 --- a/eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml +++ b/eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml @@ -1,2 +1,2 @@ $(McrTagsYmlRepo:aspire-dashboard) -$(McrTagsYmlTagGroup:8.2) +$(McrTagsYmlTagGroup:9.0) diff --git a/eng/readme-templates/FeaturedTags.md b/eng/readme-templates/FeaturedTags.md index 86f1a00a77..6ee4fb5458 100644 --- a/eng/readme-templates/FeaturedTags.md +++ b/eng/readme-templates/FeaturedTags.md @@ -20,8 +20,8 @@ elif match(REPO, "monitor/base"):* `9` (Standard Support) * `docker pull {{FULL_REPO}}:9` * `8` (Long-Term Support) * `docker pull {{FULL_REPO}}:8`^ -elif match(REPO, "aspire-dashboard"):* `8.2` - * `docker pull {{FULL_REPO}}:8.2`^ +elif match(REPO, "aspire-dashboard"):* `9.0` + * `docker pull {{FULL_REPO}}:9.0`^ else:* `9.0` (Standard Support) * `docker pull {{FULL_REPO}}:9.0` * `8.0` (Long-Term Support) diff --git a/manifest.json b/manifest.json index 91b46c581f..d95c26ae6e 100644 --- a/manifest.json +++ b/manifest.json @@ -8420,11 +8420,11 @@ "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml", "images": [ { - "productVersion": "$(aspire-dashboard|8.2|product-version)", + "productVersion": "$(aspire-dashboard|9.0|product-version)", "sharedTags": { - "$(aspire-dashboard|8.2|fixed-tag)": {}, - "$(aspire-dashboard|8.2|minor-tag)": {}, - "$(aspire-dashboard|8|major-tag)": {}, + "$(aspire-dashboard|9.0|fixed-tag)": {}, + "$(aspire-dashboard|9.0|minor-tag)": {}, + "$(aspire-dashboard|9|major-tag)": {}, "latest": {} }, "platforms": [ @@ -8432,18 +8432,18 @@ "buildArgs": { "REPO": "$(Repo:aspnet)" }, - "dockerfile": "src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64", + "dockerfile": "src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux", "os": "linux", "osVersion": "cbl-mariner2.0-distroless", "tags": { - "$(aspire-dashboard|8.2|fixed-tag)-amd64": { + "$(aspire-dashboard|9.0|fixed-tag)-amd64": { "docType": "Undocumented" }, - "$(aspire-dashboard|8.2|minor-tag)-amd64": { + "$(aspire-dashboard|9.0|minor-tag)-amd64": { "docType": "Undocumented" }, - "$(aspire-dashboard|8|major-tag)-amd64": { + "$(aspire-dashboard|9|major-tag)-amd64": { "docType": "Undocumented" } } @@ -8453,18 +8453,18 @@ "buildArgs": { "REPO": "$(Repo:aspnet)" }, - "dockerfile": "src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8", + "dockerfile": "src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux", "os": "linux", "osVersion": "cbl-mariner2.0-distroless", "tags": { - "$(aspire-dashboard|8.2|fixed-tag)-arm64v8": { + "$(aspire-dashboard|9.0|fixed-tag)-arm64v8": { "docType": "Undocumented" }, - "$(aspire-dashboard|8.2|minor-tag)-arm64v8": { + "$(aspire-dashboard|9.0|minor-tag)-arm64v8": { "docType": "Undocumented" }, - "$(aspire-dashboard|8|major-tag)-arm64v8": { + "$(aspire-dashboard|9|major-tag)-arm64v8": { "docType": "Undocumented" } }, diff --git a/manifest.versions.json b/manifest.versions.json index 1f7a02d84c..09e7e2d511 100644 --- a/manifest.versions.json +++ b/manifest.versions.json @@ -5,15 +5,15 @@ "base-url|public|preview|main": "$(base-url|public|maintenance|main)", "base-url|public|preview|nightly": "https://dotnetbuilds.azureedge.net/public", - "aspire-dashboard|8.2|build-version": "8.2.1-preview.1.24473.4", - "aspire-dashboard|8.2|product-version": "8.2.1", - "aspire-dashboard|8.2|fixed-tag": "$(aspire-dashboard|8.2|product-version)", - "aspire-dashboard|8.2|minor-tag": "8.2", - "aspire-dashboard|8|major-tag": "8", - "aspire-dashboard|8.2|linux|x64|sha": "df4c189f4fecb3284de436c04ab42aaf4888a0929f04c95ba3e1774e07045032cc8e77f570f2cf186fd2db12e385e866732dd98882f06ee0e5489d566d09b667", - "aspire-dashboard|8.2|linux|arm64|sha": "c6d0a9da8e459dd64f24758b60cc8b587cbf1c1300188f924d28aea3ace483858b1bb1287782121067af00b9d5533a529a070e8b376f85f7775ffd03c4b193fd", - "aspire-dashboard|8.2|base-url|main": "$(base-url|public|preview|nightly)", - "aspire-dashboard|8.2|base-url|nightly": "$(base-url|public|preview|nightly)", + "aspire-dashboard|9.0|build-version": "9.0.0-preview.5.24551.3", + "aspire-dashboard|9.0|product-version": "9.0.0", + "aspire-dashboard|9.0|fixed-tag": "$(aspire-dashboard|9.0|product-version)", + "aspire-dashboard|9.0|minor-tag": "9.0", + "aspire-dashboard|9|major-tag": "9", + "aspire-dashboard|9.0|linux|x64|sha": "bb59357983a0db57ec2a126d06db6f94338f0b26cb23d5565e34c69b167f25ffa6c99f2961e1b127d27bacfc78d2892cee19bad400e8c0e6b71a27a9035684f2", + "aspire-dashboard|9.0|linux|arm64|sha": "644399ce94fa6719c43b7c2d0b719467d9747c003faa09cdf2f8a9fed6af85380f6f0930e16c283ff28aef3575f052b07efdc45f701c19328dcfb0dd73dc931a", + "aspire-dashboard|9.0|base-url|main": "$(base-url|public|preview|nightly)", + "aspire-dashboard|9.0|base-url|nightly": "$(base-url|public|preview|nightly)", "aspnet|6.0|build-version": "6.0.36", "aspnet|6.0|targeting-pack-version": "$(aspnet|6.0|build-version)", diff --git a/src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile b/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile similarity index 69% rename from src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile rename to src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile index ddeafb4187..5abbce1aa6 100644 --- a/src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile +++ b/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile @@ -9,9 +9,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve Aspire Dashboard -RUN dotnet_aspire_version=8.2.1-preview.1.24473.4 \ +RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \ && curl -fSL --output aspire_dashboard.zip https://dotnetbuilds.azureedge.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-x64.zip \ - && aspire_dashboard_sha512='df4c189f4fecb3284de436c04ab42aaf4888a0929f04c95ba3e1774e07045032cc8e77f570f2cf186fd2db12e385e866732dd98882f06ee0e5489d566d09b667' \ + && aspire_dashboard_sha512='bb59357983a0db57ec2a126d06db6f94338f0b26cb23d5565e34c69b167f25ffa6c99f2961e1b127d27bacfc78d2892cee19bad400e8c0e6b71a27a9035684f2' \ && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ && mkdir -p /app \ && unzip aspire_dashboard.zip -d /app \ @@ -28,8 +28,8 @@ ENV \ # Unset ASPNETCORE_HTTP_PORTS from base image ASPNETCORE_HTTP_PORTS= \ # Aspire Dashboard environment variables - ASPNETCORE_URLS=http://0.0.0.0:18888 \ - DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \ - DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890 + ASPNETCORE_URLS=http://+:18888 \ + DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \ + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890 ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ] diff --git a/src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile b/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile similarity index 69% rename from src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile rename to src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile index 3cc8f89dce..4b801ae645 100644 --- a/src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile +++ b/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile @@ -9,9 +9,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve Aspire Dashboard -RUN dotnet_aspire_version=8.2.1-preview.1.24473.4 \ +RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \ && curl -fSL --output aspire_dashboard.zip https://dotnetbuilds.azureedge.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-arm64.zip \ - && aspire_dashboard_sha512='c6d0a9da8e459dd64f24758b60cc8b587cbf1c1300188f924d28aea3ace483858b1bb1287782121067af00b9d5533a529a070e8b376f85f7775ffd03c4b193fd' \ + && aspire_dashboard_sha512='644399ce94fa6719c43b7c2d0b719467d9747c003faa09cdf2f8a9fed6af85380f6f0930e16c283ff28aef3575f052b07efdc45f701c19328dcfb0dd73dc931a' \ && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ && mkdir -p /app \ && unzip aspire_dashboard.zip -d /app \ @@ -28,8 +28,8 @@ ENV \ # Unset ASPNETCORE_HTTP_PORTS from base image ASPNETCORE_HTTP_PORTS= \ # Aspire Dashboard environment variables - ASPNETCORE_URLS=http://0.0.0.0:18888 \ - DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \ - DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890 + ASPNETCORE_URLS=http://+:18888 \ + DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \ + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890 ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs index 96033815ce..1efdb30351 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -39,16 +40,15 @@ public async Task VerifyDashboardEndpoint(ProductImageData imageData) [MemberData(nameof(GetImageData))] public void VerifyEnvironmentVariables(ProductImageData imageData) { + string baseUrl = "http://+"; + IEnumerable expectedVariables = [ // Unset ASPNETCORE_HTTP_PORTS from base image new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", string.Empty), - // These two URL environment variables should be in the more compact format, i.e. "http://+:18888", but need - // to have a base URL of 0.0.0.0 due to a bug in the Aspire Dashboard. - // Change the format when https://github.com/dotnet/dotnet-docker/issues/5190 is closed. - new EnvironmentVariableInfo("ASPNETCORE_URLS", $"http://0.0.0.0:{DashboardWebPort}"), - new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"http://0.0.0.0:{DashboardOtlpPort}"), - new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"http://0.0.0.0:{DashboardOtlpHttpPort}"), + new EnvironmentVariableInfo("ASPNETCORE_URLS", $"{baseUrl}:{DashboardWebPort}"), + new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpPort}"), + new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpHttpPort}"), ]; string imageTag = imageData.GetImage(ImageRepo, DockerHelper); @@ -59,10 +59,25 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) [MemberData(nameof(GetImageData))] public void VerifyInstalledPackages(ProductImageData imageData) { + ProductImageData expectedPackagesImageData = imageData; + + // Special case for Aspire Dashboard 9.0 images: + // Aspire Dashboard 9.0 is based on .NET 8 since Azure Linux 3.0 does not yet have FedRAMP certification. + // Remove workaround once https://github.com/dotnet/dotnet-docker/issues/5375 is fixed. + if (imageData.VersionFamily == ImageVersion.V9_0) + { + expectedPackagesImageData = imageData with + { + Version = ImageVersion.V8_0 + }; + } + // Aspire Dashboard image is based on an "extra" image, but doesn't have the "extra" qualifier itself, so we // need to make sure we compare the correct lists of packages. - IEnumerable expectedPackages = GetExpectedPackages(imageData with { ImageVariant = DotNetImageVariant.Extra }, ImageRepo); - IEnumerable actualPackages = GetInstalledPackages(imageData, ImageRepo, DockerHelper, [ AppPath ]); + IEnumerable expectedPackages = + GetExpectedPackages(expectedPackagesImageData with { ImageVariant = DotNetImageVariant.Extra }, ImageRepo); + IEnumerable actualPackages = + GetInstalledPackages(imageData, ImageRepo, DockerHelper, [ AppPath ]); string imageName = imageData.GetImage(ImageRepo, DockerHelper, skipPull: true); ComparePackages(expectedPackages, actualPackages, imageData.IsDistroless, imageName, OutputHelper); diff --git a/tests/Microsoft.DotNet.Docker.Tests/DockerHelper.cs b/tests/Microsoft.DotNet.Docker.Tests/DockerHelper.cs index b0f430ca11..70804a46c2 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/DockerHelper.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/DockerHelper.cs @@ -73,19 +73,28 @@ public string BuildDistrolessHelper(DotNetImageRepo imageRepo, ProductImageData string dockerfile = Path.Combine(TestArtifactsDir, "Dockerfile.copy"); string distrolessImageTag = imageData.GetImage(imageRepo, this); - // Use the runtime-deps image as the target of the filesyste copy. + // Use the runtime-deps image as the target of the filesystem copy. // Not all images are versioned the same as the mainline .NET products. // Use the version family (e.g. the .NET product family version) as the // version of the runtime-deps image get the correct image. ProductImageData runtimeDepsImageData = new() { - // Special case for .NET 8.0 Aspire Dashboard images - the Dashboard is in preview even though - // .NET 8.0 is not. The distroless helper image should not be built with the preview version. Version = imageData.VersionFamily, OS = imageData.OS, Arch = imageData.Arch, }; + // Special case for Aspire Dashboard 9.0 images: + // Aspire Dashboard 9.0 is based on .NET 8 since Azure Linux 3.0 does not yet have FedRAMP certification. + // Remove workaround once https://github.com/dotnet/dotnet-docker/issues/5375 is fixed. + if (imageRepo == DotNetImageRepo.Aspire_Dashboard && imageData.VersionFamily == ImageVersion.V9_0) + { + runtimeDepsImageData = runtimeDepsImageData with + { + Version = ImageVersion.V8_0 + }; + } + // Make sure we don't try to get an image that we don't need before we specify that we want the distro-full // version. The image might not be on disk. The correct, distro-full versino will be pulled in the helper // image build. diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs index aeec82d079..2255672aa5 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs @@ -13,9 +13,9 @@ public readonly record struct ImageVersion public static readonly ImageVersion V6_0 = new(new Version(6, 0), isPreview: false); public static readonly ImageVersion V6_3 = new(new Version(6, 3), isPreview: false); public static readonly ImageVersion V8_0 = new(new Version(8, 0), isPreview: false); - public static readonly ImageVersion V8_2 = new(new Version(8, 2), isPreview: false); public static readonly ImageVersion V8_1_Preview = new(new Version(8, 1), isPreview: true); public static readonly ImageVersion V9_0 = new(new Version(9, 0), isPreview: false); + public static readonly ImageVersion V9_0_Preview = new(new Version(9, 0), isPreview: true); public ImageVersion(Version version, bool isPreview) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs index 7d07c0d69b..dedffdc80f 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs @@ -596,9 +596,14 @@ private static bool IsTagOfFormat( { string tagRegex = versionType switch { - VersionType.Major => majorMinor != null ? GetVersion(majorMinor).Major.ToString() : MajorVersionRegex, - VersionType.MajorMinor => @$"{majorMinor ?? MajorMinorVersionRegex}(-preview)?", - VersionType.MajorMinorPatch => @$"{majorMinor ?? MajorMinorVersionRegex}\.{SingleNumberRegex}(-{SingleNumberRegex})?(?:-(alpha|beta|preview|rc)\.{SingleNumberRegex})?", + VersionType.Major => + majorMinor == null + ? MajorVersionRegex + : @$"{GetVersion(majorMinor).Major}(-preview)?", + VersionType.MajorMinor => + @$"{majorMinor ?? MajorMinorVersionRegex}(-preview)?", + VersionType.MajorMinorPatch => + @$"{majorMinor ?? MajorMinorVersionRegex}\.{SingleNumberRegex}(-{SingleNumberRegex})?(?:-(alpha|beta|preview|rc)\.{SingleNumberRegex})?", _ => throw new ArgumentException("Invalid version type", nameof(versionType)), }; diff --git a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs index 43cb5ee793..34a28c0a96 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs @@ -280,8 +280,8 @@ public static class TestData private static readonly ProductImageData[] s_AspireDashboardTestData = { new() { - Version = V8_2, - VersionFamily = V8_0, + Version = V9_0, + VersionFamily = V9_0, OS = OS.Mariner20Distroless, OSTag = "", OSDir = OS.MarinerDistroless, @@ -289,8 +289,8 @@ public static class TestData SupportedImageRepos = DotNetImageRepo.Aspire_Dashboard, }, new() { - Version = V8_2, - VersionFamily = V8_0, + Version = V9_0, + VersionFamily = V9_0, OS = OS.Mariner20Distroless, OSTag = "", OSDir = OS.MarinerDistroless, diff --git a/tests/performance/ImageSize.nightly.linux.json b/tests/performance/ImageSize.nightly.linux.json index 9c8a65c632..e47a714774 100644 --- a/tests/performance/ImageSize.nightly.linux.json +++ b/tests/performance/ImageSize.nightly.linux.json @@ -396,7 +396,7 @@ "src/monitor-base/9.0/azurelinux-distroless/arm64v8": 141390045 }, "dotnet/nightly/aspire-dashboard": { - "src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64": 142036038, - "src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8": 148315271 + "src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64": 142036038, + "src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8": 148315271 } }