diff --git a/README.aspnet.md b/README.aspnet.md index 1c14bf2c51..bc92d7b1bb 100644 --- a/README.aspnet.md +++ b/README.aspnet.md @@ -85,7 +85,7 @@ For more information, see the [composite images section in the Image Variants do Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/aspnet/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 9.0.1-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/aspnet/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-composite-amd64, 9.0-alpine3.21-composite-amd64, 9.0.1-alpine3.21-composite, 9.0-alpine3.21-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/amd64/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0-alpine-amd64, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 @@ -126,11 +126,29 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-composite-amd64, 8.0-cbl-mariner2.0-distroless-composite-amd64, 8.0.12-cbl-mariner2.0-distroless-composite, 8.0-cbl-mariner2.0-distroless-composite | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-composite-extra-amd64, 8.0-cbl-mariner2.0-distroless-composite-extra-amd64, 8.0.12-cbl-mariner2.0-distroless-composite-extra, 8.0-cbl-mariner2.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-amd64, 10.0-preview-noble-amd64, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/aspnet/10.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-amd64, 10.0-preview-noble-chiseled-amd64, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/aspnet/10.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-amd64, 10.0-preview-noble-chiseled-extra-amd64, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-amd64, 10.0-preview-noble-chiseled-composite-amd64, 10.0.0-alpha.1-noble-chiseled-composite, 10.0-preview-noble-chiseled-composite | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-extra-amd64, 10.0-preview-noble-chiseled-composite-extra-amd64, 10.0.0-alpha.1-noble-chiseled-composite-extra, 10.0-preview-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-amd64, 10.0-preview-alpine3.21-amd64, 10.0-preview-alpine-amd64, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/aspnet/10.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-composite-amd64, 10.0-preview-alpine3.21-composite-amd64, 10.0-preview-alpine-composite-amd64, 10.0.0-alpha.1-alpine3.21-composite, 10.0-preview-alpine3.21-composite, 10.0-preview-alpine-composite | [Dockerfile](src/aspnet/10.0/alpine3.21-composite/amd64/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-amd64, 10.0-preview-azurelinux3.0-amd64, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/aspnet/10.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-amd64, 10.0-preview-azurelinux3.0-distroless-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64, 10.0-preview-azurelinux3.0-distroless-extra-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-composite-amd64, 10.0-preview-azurelinux3.0-distroless-composite-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless-composite, 10.0-preview-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-composite-extra-amd64, 10.0-preview-azurelinux3.0-distroless-composite-extra-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless-composite-extra, 10.0-preview-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-amd64, 10.0-preview-bookworm-slim-amd64, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/aspnet/10.0/bookworm-slim/amd64/Dockerfile) | Debian 12 + ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/aspnet/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-composite-arm64v8, 9.0-alpine3.21-composite-arm64v8, 9.0.1-alpine3.21-composite, 9.0-alpine3.21-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0-alpine-arm64v8, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 @@ -171,11 +189,29 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-composite-arm64v8, 8.0-cbl-mariner2.0-distroless-composite-arm64v8, 8.0.12-cbl-mariner2.0-distroless-composite, 8.0-cbl-mariner2.0-distroless-composite | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-composite-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-composite-extra-arm64v8, 8.0.12-cbl-mariner2.0-distroless-composite-extra, 8.0-cbl-mariner2.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm64v8, 10.0-preview-noble-arm64v8, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/aspnet/10.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm64v8, 10.0-preview-noble-chiseled-arm64v8, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/aspnet/10.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm64v8, 10.0-preview-noble-chiseled-extra-arm64v8, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-arm64v8, 10.0-preview-noble-chiseled-composite-arm64v8, 10.0.0-alpha.1-noble-chiseled-composite, 10.0-preview-noble-chiseled-composite | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-extra-arm64v8, 10.0-preview-noble-chiseled-composite-extra-arm64v8, 10.0.0-alpha.1-noble-chiseled-composite-extra, 10.0-preview-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm64v8, 10.0-preview-alpine3.21-arm64v8, 10.0-preview-alpine-arm64v8, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/aspnet/10.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-composite-arm64v8, 10.0-preview-alpine3.21-composite-arm64v8, 10.0-preview-alpine-composite-arm64v8, 10.0.0-alpha.1-alpine3.21-composite, 10.0-preview-alpine3.21-composite, 10.0-preview-alpine-composite | [Dockerfile](src/aspnet/10.0/alpine3.21-composite/arm64v8/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-arm64v8, 10.0-preview-azurelinux3.0-arm64v8, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/aspnet/10.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8, 10.0-preview-azurelinux3.0-distroless-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8, 10.0-preview-azurelinux3.0-distroless-extra-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-composite-arm64v8, 10.0-preview-azurelinux3.0-distroless-composite-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless-composite, 10.0-preview-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-composite-extra-arm64v8, 10.0-preview-azurelinux3.0-distroless-composite-extra-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless-composite-extra, 10.0-preview-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-arm64v8, 10.0-preview-bookworm-slim-arm64v8, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/aspnet/10.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 + ### Linux arm32 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/aspnet/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-composite-arm32v7, 9.0-alpine3.21-composite-arm32v7, 9.0.1-alpine3.21-composite, 9.0-alpine3.21-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0-alpine-arm32v7, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 @@ -196,6 +232,19 @@ Tags | Dockerfile | OS Version 8.0.12-jammy-chiseled-composite-arm32v7, 8.0-jammy-chiseled-composite-arm32v7, 8.0.12-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile) | Ubuntu 22.04 8.0.12-jammy-chiseled-composite-extra-arm32v7, 8.0-jammy-chiseled-composite-extra-arm32v7, 8.0.12-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile) | Ubuntu 22.04 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm32v7, 10.0-preview-noble-arm32v7, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/aspnet/10.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm32v7, 10.0-preview-noble-chiseled-arm32v7, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/aspnet/10.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm32v7, 10.0-preview-noble-chiseled-extra-arm32v7, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-arm32v7, 10.0-preview-noble-chiseled-composite-arm32v7, 10.0.0-alpha.1-noble-chiseled-composite, 10.0-preview-noble-chiseled-composite | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-composite-extra-arm32v7, 10.0-preview-noble-chiseled-composite-extra-arm32v7, 10.0.0-alpha.1-noble-chiseled-composite-extra, 10.0-preview-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm32v7, 10.0-preview-alpine3.21-arm32v7, 10.0-preview-alpine-arm32v7, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/aspnet/10.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-composite-arm32v7, 10.0-preview-alpine3.21-composite-arm32v7, 10.0-preview-alpine-composite-arm32v7, 10.0.0-alpha.1-alpine3.21-composite, 10.0-preview-alpine3.21-composite, 10.0-preview-alpine-composite | [Dockerfile](src/aspnet/10.0/alpine3.21-composite/arm32v7/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-bookworm-slim-arm32v7, 10.0-preview-bookworm-slim-arm32v7, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/aspnet/10.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 + ### Nano Server 2025 amd64 Tags Tag | Dockerfile @@ -203,6 +252,12 @@ Tag | Dockerfile 9.0.1-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/aspnet/9.0/nanoserver-ltsc2025/amd64/Dockerfile) 8.0.12-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/aspnet/8.0/nanoserver-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-ltsc2025, 10.0-preview-nanoserver-ltsc2025 | [Dockerfile](src/aspnet/10.0/nanoserver-ltsc2025/amd64/Dockerfile) + ### Windows Server Core 2025 amd64 Tags Tag | Dockerfile @@ -210,6 +265,12 @@ Tag | Dockerfile 9.0.1-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/aspnet/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2025, 10.0-preview-windowsservercore-ltsc2025 | [Dockerfile](src/aspnet/10.0/windowsservercore-ltsc2025/amd64/Dockerfile) + ### Nano Server 2022 amd64 Tags Tag | Dockerfile @@ -217,6 +278,12 @@ Tag | Dockerfile 9.0.1-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile) 8.0.12-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-ltsc2022, 10.0-preview-nanoserver-ltsc2022 | [Dockerfile](src/aspnet/10.0/nanoserver-ltsc2022/amd64/Dockerfile) + ### Windows Server Core 2022 amd64 Tags Tag | Dockerfile @@ -224,6 +291,12 @@ Tag | Dockerfile 9.0.1-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2022, 10.0-preview-windowsservercore-ltsc2022 | [Dockerfile](src/aspnet/10.0/windowsservercore-ltsc2022/amd64/Dockerfile) + ### Nano Server, version 1809 amd64 Tags Tag | Dockerfile @@ -231,12 +304,24 @@ Tag | Dockerfile 9.0.1-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile) 8.0.12-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/aspnet/8.0/nanoserver-1809/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-1809, 10.0-preview-nanoserver-1809 | [Dockerfile](src/aspnet/10.0/nanoserver-1809/amd64/Dockerfile) + ### Windows Server Core 2019 amd64 Tags Tag | Dockerfile ---------| --------------- 9.0.1-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/aspnet/8.0/windowsservercore-ltsc2019/amd64/Dockerfile) + +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2019, 10.0-preview-windowsservercore-ltsc2019 | [Dockerfile](src/aspnet/10.0/windowsservercore-ltsc2019/amd64/Dockerfile) *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/nightly/aspnet/tags/list) for all supported and unsupported tags.* diff --git a/README.runtime-deps.md b/README.runtime-deps.md index cf58e692bd..00b2f98056 100644 --- a/README.runtime-deps.md +++ b/README.runtime-deps.md @@ -66,7 +66,7 @@ They contain the following features: Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 9.0.1-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime-deps/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-aot-amd64, 9.0-alpine3.21-aot-amd64, 9.0.1-alpine3.21-aot, 9.0-alpine3.21-aot | [Dockerfile](src/runtime-deps/9.0/alpine3.21-aot/amd64/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-extra-amd64, 9.0-alpine3.21-extra-amd64, 9.0.1-alpine3.21-extra, 9.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/amd64/Dockerfile) | Alpine 3.21 @@ -105,11 +105,25 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-aot-amd64, 8.0-cbl-mariner2.0-distroless-aot-amd64, 8.0.12-cbl-mariner2.0-distroless-aot, 8.0-cbl-mariner2.0-distroless-aot | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless-aot/amd64/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.12-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-amd64, 10.0-preview-noble-amd64, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime-deps/10.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-amd64, 10.0-preview-noble-chiseled-amd64, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-amd64, 10.0-preview-noble-chiseled-extra-amd64, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-amd64, 10.0-preview-alpine3.21-amd64, 10.0-preview-alpine-amd64, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime-deps/10.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-extra-amd64, 10.0-preview-alpine3.21-extra-amd64, 10.0-preview-alpine-extra-amd64, 10.0.0-alpha.1-alpine3.21-extra, 10.0-preview-alpine3.21-extra, 10.0-preview-alpine-extra | [Dockerfile](src/runtime-deps/10.0/alpine3.21-extra/amd64/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-amd64, 10.0-preview-azurelinux3.0-amd64, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-amd64, 10.0-preview-azurelinux3.0-distroless-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64, 10.0-preview-azurelinux3.0-distroless-extra-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-amd64, 10.0-preview-bookworm-slim-amd64, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime-deps/10.0/bookworm-slim/amd64/Dockerfile) | Debian 12 + ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime-deps/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-aot-arm64v8, 9.0-alpine3.21-aot-arm64v8, 9.0.1-alpine3.21-aot, 9.0-alpine3.21-aot | [Dockerfile](src/runtime-deps/9.0/alpine3.21-aot/arm64v8/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-extra-arm64v8, 9.0-alpine3.21-extra-arm64v8, 9.0.1-alpine3.21-extra, 9.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/arm64v8/Dockerfile) | Alpine 3.21 @@ -148,11 +162,25 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-aot-arm64v8, 8.0-cbl-mariner2.0-distroless-aot-arm64v8, 8.0.12-cbl-mariner2.0-distroless-aot, 8.0-cbl-mariner2.0-distroless-aot | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless-aot/arm64v8/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.12-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm64v8, 10.0-preview-noble-arm64v8, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime-deps/10.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm64v8, 10.0-preview-noble-chiseled-arm64v8, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm64v8, 10.0-preview-noble-chiseled-extra-arm64v8, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm64v8, 10.0-preview-alpine3.21-arm64v8, 10.0-preview-alpine-arm64v8, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime-deps/10.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-extra-arm64v8, 10.0-preview-alpine3.21-extra-arm64v8, 10.0-preview-alpine-extra-arm64v8, 10.0.0-alpha.1-alpine3.21-extra, 10.0-preview-alpine3.21-extra, 10.0-preview-alpine-extra | [Dockerfile](src/runtime-deps/10.0/alpine3.21-extra/arm64v8/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-arm64v8, 10.0-preview-azurelinux3.0-arm64v8, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8, 10.0-preview-azurelinux3.0-distroless-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8, 10.0-preview-azurelinux3.0-distroless-extra-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-arm64v8, 10.0-preview-bookworm-slim-arm64v8, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime-deps/10.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 + ### Linux arm32 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime-deps/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-aot-arm32v7, 9.0-alpine3.21-aot-arm32v7, 9.0.1-alpine3.21-aot, 9.0-alpine3.21-aot | [Dockerfile](src/runtime-deps/9.0/alpine3.21-aot/arm32v7/Dockerfile) | Alpine 3.21 9.0.1-alpine3.21-extra-arm32v7, 9.0-alpine3.21-extra-arm32v7, 9.0.1-alpine3.21-extra, 9.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/arm32v7/Dockerfile) | Alpine 3.21 @@ -174,6 +202,17 @@ Tags | Dockerfile | OS Version 8.0.12-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile) | Ubuntu 22.04 8.0.12-jammy-chiseled-aot-arm32v7, 8.0-jammy-chiseled-aot-arm32v7, 8.0.12-jammy-chiseled-aot, 8.0-jammy-chiseled-aot | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-aot/arm32v7/Dockerfile) | Ubuntu 22.04 8.0.12-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 + +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm32v7, 10.0-preview-noble-arm32v7, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime-deps/10.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm32v7, 10.0-preview-noble-chiseled-arm32v7, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm32v7, 10.0-preview-noble-chiseled-extra-arm32v7, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm32v7, 10.0-preview-alpine3.21-arm32v7, 10.0-preview-alpine-arm32v7, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime-deps/10.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-alpine3.21-extra-arm32v7, 10.0-preview-alpine3.21-extra-arm32v7, 10.0-preview-alpine-extra-arm32v7, 10.0.0-alpha.1-alpine3.21-extra, 10.0-preview-alpine3.21-extra, 10.0-preview-alpine-extra | [Dockerfile](src/runtime-deps/10.0/alpine3.21-extra/arm32v7/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-bookworm-slim-arm32v7, 10.0-preview-bookworm-slim-arm32v7, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime-deps/10.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 *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/nightly/runtime-deps/tags/list) for all supported and unsupported tags.* diff --git a/README.runtime.md b/README.runtime.md index 05f65021db..db3e5c9261 100644 --- a/README.runtime.md +++ b/README.runtime.md @@ -74,7 +74,7 @@ They contain the following features: Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 9.0.1-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0-alpine-amd64, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 9.0.1-noble-amd64, 9.0-noble-amd64, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 @@ -99,11 +99,24 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-amd64, 8.0-cbl-mariner2.0-distroless-amd64, 8.0.12-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/runtime/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.12-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-amd64, 10.0-preview-noble-amd64, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime/10.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-amd64, 10.0-preview-noble-chiseled-amd64, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime/10.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-amd64, 10.0-preview-noble-chiseled-extra-amd64, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime/10.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-amd64, 10.0-preview-alpine3.21-amd64, 10.0-preview-alpine-amd64, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime/10.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-amd64, 10.0-preview-azurelinux3.0-amd64, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/runtime/10.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-amd64, 10.0-preview-azurelinux3.0-distroless-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/runtime/10.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64, 10.0-preview-azurelinux3.0-distroless-extra-amd64, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-amd64, 10.0-preview-bookworm-slim-amd64, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime/10.0/bookworm-slim/amd64/Dockerfile) | Debian 12 + ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0-alpine-arm64v8, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 9.0.1-noble-arm64v8, 9.0-noble-arm64v8, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 @@ -128,11 +141,24 @@ Tags | Dockerfile | OS Version 8.0.12-cbl-mariner2.0-distroless-arm64v8, 8.0-cbl-mariner2.0-distroless-arm64v8, 8.0.12-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 8.0.12-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.12-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm64v8, 10.0-preview-noble-arm64v8, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime/10.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm64v8, 10.0-preview-noble-chiseled-arm64v8, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime/10.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm64v8, 10.0-preview-noble-chiseled-extra-arm64v8, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime/10.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm64v8, 10.0-preview-alpine3.21-arm64v8, 10.0-preview-alpine-arm64v8, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime/10.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-azurelinux3.0-arm64v8, 10.0-preview-azurelinux3.0-arm64v8, 10.0.0-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/runtime/10.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8, 10.0-preview-azurelinux3.0-distroless-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless, 10.0-preview-azurelinux3.0-distroless | [Dockerfile](src/runtime/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8, 10.0-preview-azurelinux3.0-distroless-extra-arm64v8, 10.0.0-alpha.1-azurelinux3.0-distroless-extra, 10.0-preview-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.0-alpha.1-bookworm-slim-arm64v8, 10.0-preview-bookworm-slim-arm64v8, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime/10.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 + ### Linux arm32 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.1-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.1-bookworm-slim, 9.0-bookworm-slim, 9.0.1, 9.0 | [Dockerfile](src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 9.0.1-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0.1-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/runtime/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 9.0.1-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0-alpine-arm32v7, 9.0.1-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 9.0.1-noble-arm32v7, 9.0-noble-arm32v7, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 @@ -145,6 +171,16 @@ Tags | Dockerfile | OS Version 8.0.12-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile) | Ubuntu 22.04 8.0.12-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.0-alpha.1-noble-arm32v7, 10.0-preview-noble-arm32v7, 10.0.0-alpha.1-noble, 10.0-preview-noble, 10.0.0-alpha.1, 10.0-preview, latest | [Dockerfile](src/runtime/10.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-arm32v7, 10.0-preview-noble-chiseled-arm32v7, 10.0.0-alpha.1-noble-chiseled, 10.0-preview-noble-chiseled | [Dockerfile](src/runtime/10.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-noble-chiseled-extra-arm32v7, 10.0-preview-noble-chiseled-extra-arm32v7, 10.0.0-alpha.1-noble-chiseled-extra, 10.0-preview-noble-chiseled-extra | [Dockerfile](src/runtime/10.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.0-alpha.1-alpine3.21-arm32v7, 10.0-preview-alpine3.21-arm32v7, 10.0-preview-alpine-arm32v7, 10.0.0-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/runtime/10.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +10.0.0-alpha.1-bookworm-slim-arm32v7, 10.0-preview-bookworm-slim-arm32v7, 10.0.0-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/runtime/10.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 + ### Nano Server 2025 amd64 Tags Tag | Dockerfile @@ -152,6 +188,12 @@ Tag | Dockerfile 9.0.1-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/runtime/9.0/nanoserver-ltsc2025/amd64/Dockerfile) 8.0.12-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/runtime/8.0/nanoserver-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-ltsc2025, 10.0-preview-nanoserver-ltsc2025 | [Dockerfile](src/runtime/10.0/nanoserver-ltsc2025/amd64/Dockerfile) + ### Windows Server Core 2025 amd64 Tags Tag | Dockerfile @@ -159,6 +201,12 @@ Tag | Dockerfile 9.0.1-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/runtime/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2025, 10.0-preview-windowsservercore-ltsc2025 | [Dockerfile](src/runtime/10.0/windowsservercore-ltsc2025/amd64/Dockerfile) + ### Nano Server 2022 amd64 Tags Tag | Dockerfile @@ -166,6 +214,12 @@ Tag | Dockerfile 9.0.1-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile) 8.0.12-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-ltsc2022, 10.0-preview-nanoserver-ltsc2022 | [Dockerfile](src/runtime/10.0/nanoserver-ltsc2022/amd64/Dockerfile) + ### Windows Server Core 2022 amd64 Tags Tag | Dockerfile @@ -173,6 +227,12 @@ Tag | Dockerfile 9.0.1-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2022, 10.0-preview-windowsservercore-ltsc2022 | [Dockerfile](src/runtime/10.0/windowsservercore-ltsc2022/amd64/Dockerfile) + ### Nano Server, version 1809 amd64 Tags Tag | Dockerfile @@ -180,12 +240,24 @@ Tag | Dockerfile 9.0.1-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/runtime/9.0/nanoserver-1809/amd64/Dockerfile) 8.0.12-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/runtime/8.0/nanoserver-1809/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-nanoserver-1809, 10.0-preview-nanoserver-1809 | [Dockerfile](src/runtime/10.0/nanoserver-1809/amd64/Dockerfile) + ### Windows Server Core 2019 amd64 Tags Tag | Dockerfile ---------| --------------- 9.0.1-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) 8.0.12-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/runtime/8.0/windowsservercore-ltsc2019/amd64/Dockerfile) + +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.0-alpha.1-windowsservercore-ltsc2019, 10.0-preview-windowsservercore-ltsc2019 | [Dockerfile](src/runtime/10.0/windowsservercore-ltsc2019/amd64/Dockerfile) *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/nightly/runtime/tags/list) for all supported and unsupported tags.* diff --git a/README.sdk.md b/README.sdk.md index 34aeb58a57..18c1f80a39 100644 --- a/README.sdk.md +++ b/README.sdk.md @@ -70,7 +70,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.102-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.102-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0 | [Dockerfile](src/sdk/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 9.0.102-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0.102-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/sdk/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 9.0.102-alpine3.21-aot-amd64, 9.0-alpine3.21-aot-amd64, 9.0.102-alpine3.21-aot, 9.0-alpine3.21-aot | [Dockerfile](src/sdk/9.0/alpine3.21-aot/amd64/Dockerfile) | Alpine 3.21 9.0.102-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0-alpine-amd64, 9.0.102-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 @@ -93,11 +93,20 @@ Tags | Dockerfile | OS Version 8.0.405-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.405-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 8.0.405-cbl-mariner2.0-aot-amd64, 8.0-cbl-mariner2.0-aot-amd64, 8.0.405-cbl-mariner2.0-aot, 8.0-cbl-mariner2.0-aot | [Dockerfile](src/sdk/8.0/cbl-mariner2.0-aot/amd64/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.100-alpha.1-noble-amd64, 10.0-preview-noble-amd64, 10.0.100-alpha.1-noble, 10.0-preview-noble, 10.0.100-alpha.1, 10.0-preview, latest | [Dockerfile](src/sdk/10.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +10.0.100-alpha.1-alpine3.21-amd64, 10.0-preview-alpine3.21-amd64, 10.0-preview-alpine-amd64, 10.0.100-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/sdk/10.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +10.0.100-alpha.1-azurelinux3.0-amd64, 10.0-preview-azurelinux3.0-amd64, 10.0.100-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/sdk/10.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +10.0.100-alpha.1-bookworm-slim-amd64, 10.0-preview-bookworm-slim-amd64, 10.0.100-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/sdk/10.0/bookworm-slim/amd64/Dockerfile) | Debian 12 + ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.102-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.102-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0 | [Dockerfile](src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 9.0.102-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0.102-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/sdk/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 9.0.102-alpine3.21-aot-arm64v8, 9.0-alpine3.21-aot-arm64v8, 9.0.102-alpine3.21-aot, 9.0-alpine3.21-aot | [Dockerfile](src/sdk/9.0/alpine3.21-aot/arm64v8/Dockerfile) | Alpine 3.21 9.0.102-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0-alpine-arm64v8, 9.0.102-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 @@ -120,11 +129,20 @@ Tags | Dockerfile | OS Version 8.0.405-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.405-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 8.0.405-cbl-mariner2.0-aot-arm64v8, 8.0-cbl-mariner2.0-aot-arm64v8, 8.0.405-cbl-mariner2.0-aot, 8.0-cbl-mariner2.0-aot | [Dockerfile](src/sdk/8.0/cbl-mariner2.0-aot/arm64v8/Dockerfile) | CBL-Mariner 2.0 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.100-alpha.1-noble-arm64v8, 10.0-preview-noble-arm64v8, 10.0.100-alpha.1-noble, 10.0-preview-noble, 10.0.100-alpha.1, 10.0-preview, latest | [Dockerfile](src/sdk/10.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +10.0.100-alpha.1-alpine3.21-arm64v8, 10.0-preview-alpine3.21-arm64v8, 10.0-preview-alpine-arm64v8, 10.0.100-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/sdk/10.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +10.0.100-alpha.1-azurelinux3.0-arm64v8, 10.0-preview-azurelinux3.0-arm64v8, 10.0.100-alpha.1-azurelinux3.0, 10.0-preview-azurelinux3.0 | [Dockerfile](src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +10.0.100-alpha.1-bookworm-slim-arm64v8, 10.0-preview-bookworm-slim-arm64v8, 10.0.100-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/sdk/10.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 + ### Linux arm32 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.102-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.102-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.102-bookworm-slim, 9.0-bookworm-slim, 9.0.102, 9.0 | [Dockerfile](src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 9.0.102-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0.102-alpine3.21, 9.0-alpine3.21 | [Dockerfile](src/sdk/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 9.0.102-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0-alpine-arm32v7, 9.0.102-alpine3.20, 9.0-alpine3.20, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 9.0.102-noble-arm32v7, 9.0-noble-arm32v7, 9.0.102-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 @@ -133,6 +151,14 @@ Tags | Dockerfile | OS Version 8.0.405-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0-alpine-arm32v7, 8.0.405-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 8.0.405-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.405-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 +#### .NET 10 Preview Tags + +Tags | Dockerfile | OS Version +-----------| -------------| ------------- +10.0.100-alpha.1-noble-arm32v7, 10.0-preview-noble-arm32v7, 10.0.100-alpha.1-noble, 10.0-preview-noble, 10.0.100-alpha.1, 10.0-preview, latest | [Dockerfile](src/sdk/10.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +10.0.100-alpha.1-alpine3.21-arm32v7, 10.0-preview-alpine3.21-arm32v7, 10.0-preview-alpine-arm32v7, 10.0.100-alpha.1-alpine3.21, 10.0-preview-alpine3.21, 10.0-preview-alpine | [Dockerfile](src/sdk/10.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +10.0.100-alpha.1-bookworm-slim-arm32v7, 10.0-preview-bookworm-slim-arm32v7, 10.0.100-alpha.1-bookworm-slim, 10.0-preview-bookworm-slim | [Dockerfile](src/sdk/10.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 + ### Nano Server 2025 amd64 Tags Tag | Dockerfile @@ -140,6 +166,12 @@ Tag | Dockerfile 9.0.102-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile) 8.0.405-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-nanoserver-ltsc2025, 10.0-preview-nanoserver-ltsc2025 | [Dockerfile](src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile) + ### Windows Server Core 2025 amd64 Tags Tag | Dockerfile @@ -147,6 +179,12 @@ Tag | Dockerfile 9.0.102-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) 8.0.405-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-windowsservercore-ltsc2025, 10.0-preview-windowsservercore-ltsc2025 | [Dockerfile](src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile) + ### Nano Server 2022 amd64 Tags Tag | Dockerfile @@ -154,6 +192,12 @@ Tag | Dockerfile 9.0.102-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile) 8.0.405-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-nanoserver-ltsc2022, 10.0-preview-nanoserver-ltsc2022 | [Dockerfile](src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile) + ### Windows Server Core 2022 amd64 Tags Tag | Dockerfile @@ -161,6 +205,12 @@ Tag | Dockerfile 9.0.102-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) 8.0.405-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-windowsservercore-ltsc2022, 10.0-preview-windowsservercore-ltsc2022 | [Dockerfile](src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile) + ### Nano Server, version 1809 amd64 Tags Tag | Dockerfile @@ -168,12 +218,24 @@ Tag | Dockerfile 9.0.102-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/sdk/9.0/nanoserver-1809/amd64/Dockerfile) 8.0.405-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/sdk/8.0/nanoserver-1809/amd64/Dockerfile) +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-nanoserver-1809, 10.0-preview-nanoserver-1809 | [Dockerfile](src/sdk/10.0/nanoserver-1809/amd64/Dockerfile) + ### Windows Server Core 2019 amd64 Tags Tag | Dockerfile ---------| --------------- 9.0.102-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) 8.0.405-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile) + +#### .NET 10 Preview Tags + +Tag | Dockerfile +---------| --------------- +10.0.100-alpha.1-windowsservercore-ltsc2019, 10.0-preview-windowsservercore-ltsc2019 | [Dockerfile](src/sdk/10.0/windowsservercore-ltsc2019/amd64/Dockerfile) *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/nightly/sdk/tags/list) for all supported and unsupported tags.* diff --git a/eng/Get-DropVersions.ps1 b/eng/Get-DropVersions.ps1 index 5153e7bfe3..57ca3e1478 100644 --- a/eng/Get-DropVersions.ps1 +++ b/eng/Get-DropVersions.ps1 @@ -348,5 +348,8 @@ if ($UpdateDependencies) } } else { Write-Output "##vso[task.setvariable variable=versionInfos]$($versionInfos | ConvertTo-Json -Compress -AsArray)" - Write-Output "##vso[task.setvariable variable=internalBaseUrl]$internalBaseUrl" + + if ($UseInternalBuild) { + Write-Output "##vso[task.setvariable variable=internalBaseUrl]$internalBaseUrl" + } } diff --git a/eng/dockerfile-templates/sdk/Dockerfile.envs b/eng/dockerfile-templates/sdk/Dockerfile.envs index da9dc6e0fe..8c8d483dae 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.envs +++ b/eng/dockerfile-templates/sdk/Dockerfile.envs @@ -1,6 +1,7 @@ {{ _ ARGS: - is-internal (optional): Whether the Dockerfile is targeting an internal build of the product ^ + is-internal (optional): Whether the Dockerfile is targeting an internal build of the product + include-powershell-vars (optional): Whether PowerShell will be installed in the image ^ set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^ set isStableBranding to (find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-servicing") >= 0 || @@ -10,7 +11,9 @@ VARIABLES[cat("sdk|", dotnetVersion, "|build-version")]) ^ set isAlpine to find(OS_VERSION, "alpine") >= 0 ^ set isWindows to find(OS_VERSION, "nanoserver") >= 0 || find(OS_VERSION, "windowsservercore") >= 0 ^ - set lineContinuation to when(isWindows, "`", "\") + set lineContinuation to when(isWindows, "`", "\") ^ + + set includePowerShellRollForward to dotnetVersion != "8.0" && dotnetVersion != "9.0" }}ENV {{lineContinuation}} # Do not generate certificate DOTNET_GENERATE_ASPNET_CERTIFICATE=false {{lineContinuation}} @@ -23,6 +26,8 @@ # Enable correct mode for dotnet watch (only mode supported in a container) DOTNET_USE_POLLING_FILE_WATCHER=true {{lineContinuation}} # Skip extraction of XML docs - generally not useful within an image/container - helps performance - NUGET_XMLDOC_MODE=skip {{lineContinuation}} + NUGET_XMLDOC_MODE=skip {{if ARGS["include-powershell-vars"]:{{lineContinuation}} # PowerShell telemetry for docker image usage - POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-{{OS_ARCH_HYPHENATED}} + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-{{OS_ARCH_HYPHENATED}}{{if includePowerShellRollForward: {{lineContinuation}} + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major}}}} diff --git a/eng/dockerfile-templates/sdk/Dockerfile.linux b/eng/dockerfile-templates/sdk/Dockerfile.linux index e566b78e5d..128a3f23e7 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.linux +++ b/eng/dockerfile-templates/sdk/Dockerfile.linux @@ -16,6 +16,9 @@ baseImageTag, cat(ARCH_VERSIONED, "/buildpack-deps:", osVersionBase, "-curl")) ^ + set isPowerShellSupported to !(isAlpine && ARCH_SHORT != "x64") ^ + set includePowerShellVars to isPowerShellSupported || dotnetVersion = "8.0" || dotnetVersion = "9.0" ^ + set pkgs to filter( when(isAlpine, when(dotnetVersion = "8.0", @@ -76,7 +79,7 @@ RUN {{InsertTemplate("../Dockerfile.linux.install-pkgs", # .NET SDK image }}FROM {{baseImageTag}} -{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal])}} +{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal, "include-powershell-vars": includePowerShellVars])}} RUN {{InsertTemplate("../Dockerfile.linux.install-pkgs", [ @@ -89,6 +92,6 @@ RUN {{InsertTemplate("../Dockerfile.linux.install-pkgs", InsertTemplate("Dockerfile.linux.install-sdk", [ "install-method": "download-and-install", - ])}}}}{{if !(isAlpine && ARCH_SHORT != "x64"): + ])}}}}{{if isPowerShellSupported: {{InsertTemplate("Dockerfile.linux.install-powershell")}}}} diff --git a/eng/dockerfile-templates/sdk/Dockerfile.windows b/eng/dockerfile-templates/sdk/Dockerfile.windows index 5bb30c9c29..0457ecb209 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.windows +++ b/eng/dockerfile-templates/sdk/Dockerfile.windows @@ -24,7 +24,7 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet }}FROM {{aspnetBaseTag}} -{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal])}} +{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal, "include-powershell-vars": "true"])}} {{InsertTemplate("Dockerfile.windows.install-components")}} @@ -49,7 +49,7 @@ ARG ACCESSTOKEN # SDK image FROM {{aspnetBaseTag}} -{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal])}} +{{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal, "include-powershell-vars": "true"])}} {{InsertTemplate("../Dockerfile.windows.set-path", [ "path": paths ])}} diff --git a/eng/mcr-tags-metadata-templates/aspnet-tags.yml b/eng/mcr-tags-metadata-templates/aspnet-tags.yml index f7c5f8506c..7fb4255c06 100644 --- a/eng/mcr-tags-metadata-templates/aspnet-tags.yml +++ b/eng/mcr-tags-metadata-templates/aspnet-tags.yml @@ -1,4 +1,17 @@ $(McrTagsYmlRepo:aspnet) +$(McrTagsYmlTagGroup:10.0-preview-noble|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled-composite|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled-composite-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21-composite|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless-composite|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless-composite-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-bookworm-slim|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-bookworm-slim) $(McrTagsYmlTagGroup:9.0-alpine3.21) $(McrTagsYmlTagGroup:9.0-alpine3.21-composite) @@ -39,14 +52,20 @@ $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless-extra) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless-composite) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless-composite-extra) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2025|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2025|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2022|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2022|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2022) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-1809|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2019|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-1809) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2019) $(McrTagsYmlTagGroup:8.0-nanoserver-1809) diff --git a/eng/mcr-tags-metadata-templates/runtime-deps-tags.yml b/eng/mcr-tags-metadata-templates/runtime-deps-tags.yml index df7b89a67c..adc3619a6c 100644 --- a/eng/mcr-tags-metadata-templates/runtime-deps-tags.yml +++ b/eng/mcr-tags-metadata-templates/runtime-deps-tags.yml @@ -1,4 +1,13 @@ $(McrTagsYmlRepo:runtime-deps) +$(McrTagsYmlTagGroup:10.0-preview-noble|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-bookworm-slim|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-bookworm-slim) $(McrTagsYmlTagGroup:9.0-alpine3.21) $(McrTagsYmlTagGroup:9.0-alpine3.21-aot) diff --git a/eng/mcr-tags-metadata-templates/runtime-tags.yml b/eng/mcr-tags-metadata-templates/runtime-tags.yml index 0ab7d46816..98c1c2971e 100644 --- a/eng/mcr-tags-metadata-templates/runtime-tags.yml +++ b/eng/mcr-tags-metadata-templates/runtime-tags.yml @@ -1,4 +1,12 @@ $(McrTagsYmlRepo:runtime) +$(McrTagsYmlTagGroup:10.0-preview-noble|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-noble-chiseled-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0-distroless-extra|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-bookworm-slim|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-bookworm-slim) $(McrTagsYmlTagGroup:9.0-alpine3.21) $(McrTagsYmlTagGroup:9.0-alpine3.20) @@ -23,14 +31,20 @@ $(McrTagsYmlTagGroup:8.0-azurelinux3.0-distroless-extra) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-distroless-extra) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2025|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2025|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2022|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2022|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2022) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-1809|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2019|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-1809) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2019) $(McrTagsYmlTagGroup:8.0-nanoserver-1809) diff --git a/eng/mcr-tags-metadata-templates/sdk-tags.yml b/eng/mcr-tags-metadata-templates/sdk-tags.yml index 5dd423df5f..958511245d 100644 --- a/eng/mcr-tags-metadata-templates/sdk-tags.yml +++ b/eng/mcr-tags-metadata-templates/sdk-tags.yml @@ -1,4 +1,8 @@ $(McrTagsYmlRepo:sdk) +$(McrTagsYmlTagGroup:10.0-preview-noble|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-alpine3.21|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-azurelinux3.0|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-bookworm-slim|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-bookworm-slim) $(McrTagsYmlTagGroup:9.0-alpine3.21) $(McrTagsYmlTagGroup:9.0-alpine3.21-aot) @@ -21,14 +25,20 @@ $(McrTagsYmlTagGroup:8.0-azurelinux3.0) $(McrTagsYmlTagGroup:8.0-azurelinux3.0-aot) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0-aot) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2025|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2025|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-ltsc2022|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2022|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2022) +$(McrTagsYmlTagGroup:10.0-preview-nanoserver-1809|.NET 10 Preview Tags) +$(McrTagsYmlTagGroup:10.0-preview-windowsservercore-ltsc2019|.NET 10 Preview Tags) $(McrTagsYmlTagGroup:9.0-nanoserver-1809) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2019) $(McrTagsYmlTagGroup:8.0-nanoserver-1809) diff --git a/eng/update-dependencies/DockerfileShaUpdater.cs b/eng/update-dependencies/DockerfileShaUpdater.cs index fc1f4be72f..501fe1dc9c 100644 --- a/eng/update-dependencies/DockerfileShaUpdater.cs +++ b/eng/update-dependencies/DockerfileShaUpdater.cs @@ -223,14 +223,13 @@ private static string GetArch(string[] variableParts) private async Task GetDotNetBinaryStorageChecksumsShaAsync(string productDownloadUrl) { string? sha = null; - string shaExt = _options.IsInternal || !_productName.Contains("sdk", StringComparison.OrdinalIgnoreCase) ? ".sha512" : ".sha"; string shaUrl = productDownloadUrl .Replace("/dotnetcli", "/dotnetclichecksums") .Replace("/internal/", "/internal-checksums/") .Replace("/public/", "/public-checksums/") .Replace("azureedge.net", "blob.core.windows.net") - + shaExt; + + ".sha512"; Trace.TraceInformation($"Downloading '{shaUrl}'."); using (HttpResponseMessage response = await s_httpClient.GetAsync(shaUrl)) diff --git a/manifest.json b/manifest.json index 30170c17ab..f24f00c21f 100644 --- a/manifest.json +++ b/manifest.json @@ -1316,8 +1316,7 @@ "$(dotnet|9.0|fixed-tag)-bookworm-slim": {}, "$(dotnet|9.0|minor-tag)-bookworm-slim": {}, "$(dotnet|9.0|fixed-tag)": {}, - "$(dotnet|9.0|minor-tag)": {}, - "latest": {} + "$(dotnet|9.0|minor-tag)": {} }, "platforms": [ { @@ -2181,268 +2180,240 @@ ] } ] - } - ] - }, - { - "id": "runtime", - "name": "dotnet/nightly/runtime", - "readmes": [ - { - "path": "README.runtime.md", - "templatePath": "eng/readme-templates/README.github.md" - }, - { - "path": ".portal-docs/docker-hub/README.runtime.md", - "templatePath": "eng/readme-templates/README.dockerhub.md" }, { - "path": ".portal-docs/mar/README.runtime.portal.md", - "templatePath": "eng/readme-templates/README.mcr.md" - } - ], - "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/runtime-tags.yml", - "images": [ - { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim": {}, - "$(dotnet|8.0|fixed-tag)": {}, - "$(dotnet|8.0|minor-tag)": {} + "$(dotnet|10.0|fixed-tag)-noble": {}, + "$(dotnet|10.0|minor-tag)-noble": {}, + "$(dotnet|10.0|fixed-tag)": {}, + "$(dotnet|10.0|minor-tag)": {}, + "latest": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/bookworm-slim/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "bookworm-slim", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-amd64": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-amd64": {} } }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/bookworm-slim/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "bookworm-slim", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-noble-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/bookworm-slim/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "bookworm-slim", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20": {}, - "$(dotnet|8.0|minor-tag)-alpine": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.20/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine-amd64": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine-amd64": {} } }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.20/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.20/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-extra": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-extra": {}, + "$(dotnet|10.0|minor-tag)-alpine-extra": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.21/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.extra", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} - } + "$(dotnet|10.0|fixed-tag)-alpine3.21-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-alpine3.21-amd64" + ] + } + ] }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.21/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.extra", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine-extra-arm32v7": {} }, - "variant": "v7" + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-alpine3.21-arm32v7" + ] + } + ] }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/alpine3.21/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/alpine3.21-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.extra", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine-extra-arm64v8": {} }, - "variant": "v8" + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-alpine3.21-arm64v8" + ] + } + ] } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble": {}, - "$(dotnet|8.0|minor-tag)-noble": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "noble", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-amd64": {} } }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "noble", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble-chiseled/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.distroless-mariner", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] } ] }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble-chiseled/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.distroless-mariner", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -2450,7 +2421,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -2458,68 +2429,48 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble-chiseled-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.distroless-mariner.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} }, "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" - ] - }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):8.0-noble-chiseled-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] } ] }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/noble-chiseled-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.distroless-mariner.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" - ] - }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):8.0-noble-chiseled-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -2527,122 +2478,118 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy": {}, - "$(dotnet|8.0|minor-tag)-jammy": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/bookworm-slim/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "jammy", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-amd64": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-amd64": {} } }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "jammy", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/bookworm-slim/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile", "os": "linux", - "osVersion": "jammy", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-amd64": {} }, "customBuildLegGroups": [ + { + "name": "test-dependencies", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" + ] + }, { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" ] } ] }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ + { + "name": "test-dependencies", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" + ] + }, { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" ] } ] }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -2650,7 +2597,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" ] } ] @@ -2658,146 +2605,145 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra": {} }, "platforms": [ { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu.extra", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-amd64": {} }, "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" - ] - }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):8.0-jammy-chiseled-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" ] } ] }, { "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu.extra", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" - ] - }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):8.0-jammy-chiseled-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" ] } ] }, { "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime-deps/10.0/noble-chiseled-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu.extra", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" - ] - }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):8.0-jammy-chiseled-arm32v7" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" ] } ] } ] + } + ] + }, + { + "id": "runtime", + "name": "dotnet/nightly/runtime", + "readmes": [ + { + "path": "README.runtime.md", + "templatePath": "eng/readme-templates/README.github.md" + }, + { + "path": ".portal-docs/docker-hub/README.runtime.md", + "templatePath": "eng/readme-templates/README.dockerhub.md" }, + { + "path": ".portal-docs/mar/README.runtime.portal.md", + "templatePath": "eng/readme-templates/README.mcr.md" + } + ], + "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/runtime-tags.yml", + "images": [ { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim": {}, + "$(dotnet|8.0|fixed-tag)": {}, + "$(dotnet|8.0|minor-tag)": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0/amd64", + "dockerfile": "src/runtime/8.0/bookworm-slim/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-amd64": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-amd64": {} } }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-arm32v7": {} + }, + "variant": "v7" + }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0/arm64v8", + "dockerfile": "src/runtime/8.0/bookworm-slim/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-arm64v8": {} }, "variant": "v8" } @@ -2806,140 +2752,129 @@ { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-alpine3.20": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20": {}, + "$(dotnet|8.0|minor-tag)-alpine": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless/amd64", + "dockerfile": "src/runtime/8.0/alpine3.20/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-amd64": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-alpine3.20-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" - ] - } - ] + "dockerfile": "src/runtime/8.0/alpine3.20/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} + }, + "variant": "v7" }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8", + "dockerfile": "src/runtime/8.0/alpine3.20/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|8.0|fixed-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" - ] - } - ] + "variant": "v8" } ] }, { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra": {} + "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime/8.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-amd64": {} + "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" - ] - } - ] + "dockerfile": "src/runtime/8.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + }, + "variant": "v7" }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime/8.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" - ] - } - ] + "variant": "v8" } ] }, { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0": {} + "$(dotnet|8.0|fixed-tag)-noble": {}, + "$(dotnet|8.0|minor-tag)-noble": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0/amd64", + "dockerfile": "src/runtime/8.0/noble/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-amd64": {} + "$(dotnet|8.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-amd64": {} } }, { @@ -2947,13 +2882,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0/arm64v8", + "dockerfile": "src/runtime/8.0/noble/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-arm64v8": {} }, "variant": "v8" } @@ -2962,28 +2897,28 @@ { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless/amd64", + "dockerfile": "src/runtime/8.0/noble-chiseled/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" ] } ] @@ -2993,13 +2928,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless/arm64v8", + "dockerfile": "src/runtime/8.0/noble-chiseled/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -3007,7 +2942,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" ] } ] @@ -3017,28 +2952,35 @@ { "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless-extra/amd64", + "dockerfile": "src/runtime/8.0/noble-chiseled-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):8.0-noble-chiseled-amd64" ] } ] @@ -3048,13 +2990,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfile": "src/runtime/8.0/noble-chiseled-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -3062,7 +3004,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):8.0-noble-chiseled-arm64v8" ] } ] @@ -3071,115 +3020,22 @@ }, { "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/nanoserver-1809/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "nanoserver-1809", - "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-1809": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-1809": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/nanoserver-ltsc2022/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "nanoserver-ltsc2022", - "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2022": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2022": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/nanoserver-ltsc2025/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "nanoserver-ltsc2025", - "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2025": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2025": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2019/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "windowsservercore-ltsc2019", - "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2019": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2019": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2022/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "windowsservercore-ltsc2022", - "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2022": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2022": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "platforms": [ - { - "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2025/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", - "os": "windows", - "osVersion": "windowsservercore-ltsc2025", - "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2025": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2025": {} - } - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim": {}, - "$(dotnet|9.0|fixed-tag)": {}, - "$(dotnet|9.0|minor-tag)": {}, - "latest": {} + "$(dotnet|8.0|fixed-tag)-jammy": {}, + "$(dotnet|8.0|minor-tag)-jammy": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/bookworm-slim/amd64", + "dockerfile": "src/runtime/8.0/jammy/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "bookworm-slim", + "osVersion": "jammy", "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-amd64": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-amd64": {} + "$(dotnet|8.0|fixed-tag)-jammy-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-amd64": {} } }, { @@ -3187,13 +3043,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/bookworm-slim/arm32v7", + "dockerfile": "src/runtime/8.0/jammy/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "bookworm-slim", + "osVersion": "jammy", "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-arm32v7": {} + "$(dotnet|8.0|fixed-tag)-jammy-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-arm32v7": {} }, "variant": "v7" }, @@ -3202,203 +3058,43 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/bookworm-slim/arm64v8", + "dockerfile": "src/runtime/8.0/jammy/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "bookworm-slim", - "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20": {}, - "$(dotnet|9.0|minor-tag)-alpine": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.20/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.20/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} - }, - "variant": "v7" - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.20/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.21/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.21", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.21/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.21", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} - }, - "variant": "v7" - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/alpine3.21/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.21", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble": {}, - "$(dotnet|9.0|minor-tag)-noble": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/noble/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/noble/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-arm32v7": {} - }, - "variant": "v7" - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/runtime/9.0/noble/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", + "osVersion": "jammy", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-jammy-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled/amd64", + "dockerfile": "src/runtime/8.0/jammy-chiseled/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-amd64": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" ] } ] @@ -3408,13 +3104,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled/arm64v8", + "dockerfile": "src/runtime/8.0/jammy-chiseled/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -3422,7 +3118,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" ] } ] @@ -3432,13 +3128,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled/arm32v7", + "dockerfile": "src/runtime/8.0/jammy-chiseled/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -3446,7 +3142,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" ] } ] @@ -3454,37 +3150,37 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled-extra/amd64", + "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-amd64": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-amd64" + "$(Repo:runtime):8.0-jammy-chiseled-amd64" ] } ] @@ -3494,13 +3190,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled-extra/arm64v8", + "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -3508,14 +3204,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8" + "$(Repo:runtime):8.0-jammy-chiseled-arm64v8" ] } ] @@ -3525,13 +3221,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/noble-chiseled-extra/arm32v7", + "dockerfile": "src/runtime/8.0/jammy-chiseled-extra/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "jammy-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm32v7": {} + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -3539,14 +3235,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7" + "$(Repo:runtime):8.0-jammy-chiseled-arm32v7" ] } ] @@ -3554,23 +3250,29 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner": { + "docType": "Undocumented" + } }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0/amd64", + "dockerfile": "src/runtime/8.0/cbl-mariner2.0/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "cbl-mariner2.0", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-amd64": { + "docType": "Undocumented" + } } }, { @@ -3578,43 +3280,52 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0/arm64v8", + "dockerfile": "src/runtime/8.0/cbl-mariner2.0/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "cbl-mariner2.0", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-arm64v8": { + "docType": "Undocumented" + } }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless": { + "docType": "Undocumented" + } }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless/amd64", + "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "cbl-mariner2.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-amd64": { + "docType": "Undocumented" + } }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" ] } ] @@ -3624,13 +3335,16 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless/arm64v8", + "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "cbl-mariner2.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": { + "docType": "Undocumented" + } }, "variant": "v8", "customBuildLegGroups": [ @@ -3638,7 +3352,7 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" ] } ] @@ -3646,53 +3360,138 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless-extra/amd64", + "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "cbl-mariner2.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" ] - }, + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ { - "name": "test-dependencies", - "type": "Integral", + "name": "pr-build", + "type": "Supplemental", "dependencies": [ - "$(Repo:runtime):$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" ] } ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-amd64": {} + } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "dockerfile": "src/runtime/8.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -3700,14 +3499,62 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" ] - }, + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + }, + "customBuildLegGroups": [ { - "name": "test-dependencies", - "type": "Integral", + "name": "pr-build", + "type": "Supplemental", "dependencies": [ - "$(Repo:runtime):$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -3715,246 +3562,223 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/nanoserver-1809/amd64", + "dockerfile": "src/runtime/8.0/nanoserver-1809/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-1809", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-1809": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-1809": {} + "$(dotnet|8.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-1809": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/nanoserver-ltsc2022/amd64", + "dockerfile": "src/runtime/8.0/nanoserver-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2022", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2022": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2022": {} + "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/nanoserver-ltsc2025/amd64", + "dockerfile": "src/runtime/8.0/nanoserver-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2025", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2025": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2025": {} + "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2025": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2019/amd64", + "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2019/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2019", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2019": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2019": {} + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2019": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2022/amd64", + "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2022", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2022": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2022": {} + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|8.0|product-version)", "platforms": [ { - "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2025/amd64", + "dockerfile": "src/runtime/8.0/windowsservercore-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2025", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2025": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2025": {} + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2025": {} } } ] - } - ] - }, - { - "id": "aspnet", - "name": "dotnet/nightly/aspnet", - "readmes": [ - { - "path": "README.aspnet.md", - "templatePath": "eng/readme-templates/README.github.md" - }, - { - "path": ".portal-docs/docker-hub/README.aspnet.md", - "templatePath": "eng/readme-templates/README.dockerhub.md" }, { - "path": ".portal-docs/mar/README.aspnet.portal.md", - "templatePath": "eng/readme-templates/README.mcr.md" - } - ], - "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/aspnet-tags.yml", - "images": [ - { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim": {}, - "$(dotnet|8.0|fixed-tag)": {}, - "$(dotnet|8.0|minor-tag)": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim": {}, + "$(dotnet|9.0|fixed-tag)": {}, + "$(dotnet|9.0|minor-tag)": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/bookworm-slim/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/bookworm-slim/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-amd64": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-amd64": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-amd64": {} } }, { "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/bookworm-slim/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/bookworm-slim/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/bookworm-slim/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-bookworm-slim-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20": {}, - "$(dotnet|8.0|minor-tag)-alpine": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20": {}, + "$(dotnet|9.0|minor-tag)-alpine": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/alpine3.20/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine-amd64": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-amd64": {} } }, { "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/alpine3.20/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/alpine3.20/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-composite": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-composite": {}, - "$(dotnet|8.0|minor-tag)-alpine-composite": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine-composite-amd64": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} } }, { @@ -3962,14 +3786,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20-composite/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine-composite-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} }, "variant": "v7" }, @@ -3978,209 +3801,143 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.20-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine-composite-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21": {} + "$(dotnet|9.0|fixed-tag)-noble": {}, + "$(dotnet|9.0|minor-tag)-noble": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.21/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/noble/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.21", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|9.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-amd64": {} } }, { "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.21/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.21", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-noble-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.21/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.21", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-composite": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.21-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", - "os": "linux", - "osVersion": "alpine3.21", - "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/aspnet/8.0/alpine3.21-composite/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/noble-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.21", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-amd64": {} }, - "variant": "v7" + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + ] + } + ] }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/alpine3.21-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/noble-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.21", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble": {}, - "$(dotnet|8.0|minor-tag)-noble": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/8.0/noble/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", - "tags": { - "$(dotnet|8.0|fixed-tag)-noble-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-amd64": {} - } - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/8.0/noble/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", - "tags": { - "$(dotnet|8.0|fixed-tag)-noble-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|8.0|product-version)", - "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/8.0/noble-chiseled/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "noble-chiseled", - "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-amd64": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8": {} }, + "variant": "v8", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" ] } ] }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/noble-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7": {} }, - "variant": "v8", + "variant": "v7", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" ] } ] @@ -4188,37 +3945,37 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/runtime/9.0/noble-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:aspnet):8.0-noble-chiseled-amd64" + "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-amd64" ] } ] @@ -4226,15 +3983,15 @@ { "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/runtime/9.0/noble-chiseled-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -4242,14 +3999,45 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:aspnet):8.0-noble-chiseled-arm64v8" + "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/9.0/noble-chiseled-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7" ] } ] @@ -4257,23 +4045,23 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-composite-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/runtime/9.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64": {} } }, { @@ -4281,87 +4069,2378 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/runtime/9.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-amd64": {} - } + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/noble-chiseled-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} }, - "variant": "v8" + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy": {}, - "$(dotnet|8.0|minor-tag)-jammy": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", "os": "linux", - "osVersion": "jammy", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-amd64": {} - } + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] }, { - "architecture": "arm", + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/nanoserver-1809/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-1809", + "tags": { + "$(dotnet|9.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-1809": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/nanoserver-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2022", + "tags": { + "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2019/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2019", + "tags": { + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2019": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2022", + "tags": { + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/9.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-noble": {}, + "$(dotnet|10.0|minor-tag)-noble": {}, + "$(dotnet|10.0|fixed-tag)": {}, + "$(dotnet|10.0|minor-tag)": {}, + "latest": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|10.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|10.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/bookworm-slim/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|10.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/bookworm-slim/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|10.0|minor-tag)-noble-chiseled-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|10.0|minor-tag)-noble-chiseled-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/runtime/10.0/noble-chiseled-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:runtime):$(dotnet|10.0|minor-tag)-noble-chiseled-arm32v7" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/nanoserver-1809/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-1809", + "tags": { + "$(dotnet|10.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-1809": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/nanoserver-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2022", + "tags": { + "$(dotnet|10.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(dotnet|10.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/windowsservercore-ltsc2019/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2019", + "tags": { + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2019": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/windowsservercore-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2022", + "tags": { + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "platforms": [ + { + "dockerfile": "src/runtime/10.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/runtime/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] + } + ] + }, + { + "id": "aspnet", + "name": "dotnet/nightly/aspnet", + "readmes": [ + { + "path": "README.aspnet.md", + "templatePath": "eng/readme-templates/README.github.md" + }, + { + "path": ".portal-docs/docker-hub/README.aspnet.md", + "templatePath": "eng/readme-templates/README.dockerhub.md" + }, + { + "path": ".portal-docs/mar/README.aspnet.portal.md", + "templatePath": "eng/readme-templates/README.mcr.md" + } + ], + "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/aspnet-tags.yml", + "images": [ + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim": {}, + "$(dotnet|8.0|fixed-tag)": {}, + "$(dotnet|8.0|minor-tag)": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/bookworm-slim/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|8.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/bookworm-slim/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|8.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-bookworm-slim-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20": {}, + "$(dotnet|8.0|minor-tag)-alpine": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-composite": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-composite": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.20-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.20", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.20-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-composite": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-composite": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/alpine3.21-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-noble": {}, + "$(dotnet|8.0|minor-tag)-noble": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):8.0-noble-chiseled-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-noble-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):8.0-noble-chiseled-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-extra-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/noble-chiseled-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-noble-chiseled-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-noble-chiseled-composite-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-jammy": {}, + "$(dotnet|8.0|minor-tag)-jammy": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-arm32v7": {} + }, + "variant": "v7" + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):8.0-jammy-chiseled-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):8.0-jammy-chiseled-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):8.0-jammy-chiseled-arm32v7" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-arm64v8": {} + }, + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-arm32v7": {} + }, + "variant": "v7" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-arm64v8": {} + }, + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-arm32v7": {} + }, + "variant": "v7" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner": { + "docType": "Undocumented" + } + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-amd64": { + "docType": "Undocumented" + } + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-arm64v8": { + "docType": "Undocumented" + } + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless": { + "docType": "Undocumented" + } + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-amd64": { + "docType": "Undocumented" + } + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": { + "docType": "Undocumented" + } + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite": { + "docType": "Undocumented" + } + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-amd64": { + "docType": "Undocumented" + } + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-arm64v8": { + "docType": "Undocumented" + } + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra": { + "docType": "Undocumented" + } + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra-amd64": { + "docType": "Undocumented" + } + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra-arm64v8": { + "docType": "Undocumented" + } + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "sharedTags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "azurelinux3.0-distroless", + "tags": { + "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {} + }, + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/nanoserver-1809/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-1809", + "tags": { + "$(dotnet|8.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-1809": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/nanoserver-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2022", + "tags": { + "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy/arm32v7", + "dockerfile": "src/aspnet/8.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2019/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2019", + "tags": { + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2019": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2022", + "tags": { + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "sharedTags": { + "$(dotnet|9.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim": {}, + "$(dotnet|9.0|fixed-tag)": {}, + "$(dotnet|9.0|minor-tag)": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.0/bookworm-slim/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-amd64": {} + } + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-arm32v7": {} }, "variant": "v7" }, @@ -4370,378 +6449,311 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy/arm64v8", + "dockerfile": "src/aspnet/9.0/bookworm-slim/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-bookworm-slim-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20": {}, + "$(dotnet|9.0|minor-tag)-alpine": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled/amd64", + "dockerfile": "src/aspnet/9.0/alpine3.20/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-amd64": {} - }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" - ] - } - ] + "$(dotnet|9.0|fixed-tag)-alpine3.20-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-amd64": {} + } }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled/arm64v8", + "dockerfile": "src/aspnet/9.0/alpine3.20/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" - ] - } - ] + "variant": "v7" }, { - "architecture": "arm", + "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled/arm32v7", + "dockerfile": "src/aspnet/9.0/alpine3.20/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} }, - "variant": "v7", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" - ] - } - ] + "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-composite": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-composite": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/aspnet/9.0/alpine3.20-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-amd64": {} - }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-amd64" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:aspnet):8.0-jammy-chiseled-amd64" - ] - } - ] + "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-amd64": {} + } }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/aspnet/9.0/alpine3.20-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-composite-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-arm32v7": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm64v8" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:aspnet):8.0-jammy-chiseled-arm64v8" - ] - } - ] + "variant": "v7" }, { - "architecture": "arm", + "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-extra/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/aspnet/9.0/alpine3.20-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.20", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-extra-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.20-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-arm64v8": {} }, - "variant": "v7", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-jammy-arm32v7" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:aspnet):8.0-jammy-chiseled-arm32v7" - ] - } - ] + "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21": {} }, "platforms": [ { "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/9.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} } }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/9.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} }, - "variant": "v8" + "variant": "v7" }, { - "architecture": "arm", + "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/9.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-extra-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} }, - "variant": "v7" + "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-composite": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-composite": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/amd64", + "dockerfile": "src/aspnet/9.0/alpine3.21-composite/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-amd64": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-amd64": {} } }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/arm64v8", + "dockerfile": "src/aspnet/9.0/alpine3.21-composite/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm32v7": {} }, - "variant": "v8" + "variant": "v7" }, { - "architecture": "arm", + "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/jammy-chiseled-composite/arm32v7", + "dockerfile": "src/aspnet/9.0/alpine3.21-composite/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "jammy-chiseled", + "osVersion": "alpine3.21", "tags": { - "$(dotnet|8.0|fixed-tag)-jammy-chiseled-composite-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-jammy-chiseled-composite-arm32v7": {} + "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm64v8": {} }, - "variant": "v7" + "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble": {}, + "$(dotnet|9.0|minor-tag)-noble": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0/amd64", + "dockerfile": "src/aspnet/9.0/noble/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-amd64": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-amd64": {} } }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-arm32v7": {} + }, + "variant": "v7" + }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0/arm64v8", + "dockerfile": "src/aspnet/9.0/noble/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0", + "osVersion": "noble", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless/amd64", + "dockerfile": "src/aspnet/9.0/noble-chiseled/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-amd64": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" ] } ] @@ -4751,16 +6763,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8", + "dockerfile": "src/aspnet/9.0/noble-chiseled/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -4768,7 +6777,31 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + ] + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.0/noble-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" ] } ] @@ -4776,54 +6809,99 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64", + "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-amd64": {} + }, + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-amd64" + ] + } + ] + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm64v8": {} }, + "variant": "v8", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8" ] } ] }, { - "architecture": "arm64", + "architecture": "arm", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8", + "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm32v7": {} }, - "variant": "v8", + "variant": "v7", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7" ] } ] @@ -4831,151 +6909,127 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-amd64": { - "docType": "Undocumented" - } - }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" - ] - } - ] + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-amd64": {} + } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" - ] - } - ] + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-arm32v7": {} + }, + "variant": "v7" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra-amd64": { - "docType": "Undocumented" - } - }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-amd64" - ] - } - ] + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-amd64": {} + } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "cbl-mariner2.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|8.0|fixed-tag)-cbl-mariner2.0-distroless-composite-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner2.0-distroless-composite-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-cbl-mariner-distroless-composite-extra-arm64v8": { - "docType": "Undocumented" - } + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-cbl-mariner2.0-arm64v8" - ] - } - ] + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-arm32v7": {} + }, + "variant": "v7" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0/amd64", + "dockerfile": "src/aspnet/9.0/azurelinux3.0/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64": {} } }, { @@ -4983,43 +7037,50 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0/arm64v8", + "dockerfile": "src/aspnet/9.0/azurelinux3.0/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless/amd64", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5029,13 +7090,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless/arm64v8", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5043,7 +7104,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -5051,30 +7119,37 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} }, "customBuildLegGroups": [ { - "name": "pr-build", - "type": "Supplemental", + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5084,13 +7159,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5098,7 +7173,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -5106,30 +7188,37 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5139,13 +7228,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5153,7 +7242,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -5161,30 +7257,37 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra-amd64": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5194,13 +7297,13 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8", + "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|8.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {} + "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5208,7 +7311,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|8.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -5216,120 +7326,120 @@ ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/nanoserver-1809/amd64", + "dockerfile": "src/aspnet/9.0/nanoserver-1809/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-1809", "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-1809": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-1809": {} + "$(dotnet|9.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-1809": {} } } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/nanoserver-ltsc2022/amd64", + "dockerfile": "src/aspnet/9.0/nanoserver-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2022", "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2022": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2022": {} + "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/nanoserver-ltsc2025/amd64", + "dockerfile": "src/aspnet/9.0/nanoserver-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2025", "tags": { - "$(dotnet|8.0|fixed-tag)-nanoserver-ltsc2025": {}, - "$(dotnet|8.0|minor-tag)-nanoserver-ltsc2025": {} + "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2025": {} } } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2019/amd64", + "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2019/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2019", "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2019": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2019": {} + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2019": {} } } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2022/amd64", + "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2022", "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2022": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2022": {} + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|8.0|product-version)", + "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/8.0/windowsservercore-ltsc2025/amd64", + "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2025", "tags": { - "$(dotnet|8.0|fixed-tag)-windowsservercore-ltsc2025": {}, - "$(dotnet|8.0|minor-tag)-windowsservercore-ltsc2025": {} + "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2025": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim": {}, - "$(dotnet|9.0|fixed-tag)": {}, - "$(dotnet|9.0|minor-tag)": {}, + "$(dotnet|10.0|fixed-tag)-noble": {}, + "$(dotnet|10.0|minor-tag)-noble": {}, + "$(dotnet|10.0|fixed-tag)": {}, + "$(dotnet|10.0|minor-tag)": {}, "latest": {} }, "platforms": [ @@ -5337,177 +7447,67 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/bookworm-slim/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "bookworm-slim", - "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-amd64": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/bookworm-slim/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "bookworm-slim", - "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-arm32v7": {} - }, - "variant": "v7" - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/bookworm-slim/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "bookworm-slim", - "tags": { - "$(dotnet|9.0|fixed-tag)-bookworm-slim-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-bookworm-slim-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20": {}, - "$(dotnet|9.0|minor-tag)-alpine": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/alpine3.20/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine-amd64": {} - } - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/alpine3.20/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} - }, - "variant": "v7" - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/alpine3.20/arm64v8", + "dockerfile": "src/aspnet/10.0/noble/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", - "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} - }, - "variant": "v8" - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-composite": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-composite": {}, - "$(dotnet|9.0|minor-tag)-alpine-composite": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/aspnet/9.0/alpine3.20-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", - "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "noble", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine-composite-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-amd64": {} } }, { "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/alpine3.20-composite/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "noble", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-composite-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine-composite-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-noble-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-arm32v7": {} }, "variant": "v7" }, { "architecture": "arm64", "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/alpine3.20-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "alpine3.20", + "osVersion": "noble", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.20-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine-composite-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21": {}, + "$(dotnet|10.0|minor-tag)-alpine": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21/amd64", + "dockerfile": "src/aspnet/10.0/alpine3.21/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine-amd64": {} } }, { @@ -5515,13 +7515,14 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21/arm32v7", + "dockerfile": "src/aspnet/10.0/alpine3.21/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -5530,36 +7531,39 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21/arm64v8", + "dockerfile": "src/aspnet/10.0/alpine3.21/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-composite": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-composite": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-composite": {}, + "$(dotnet|10.0|minor-tag)-alpine-composite": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21-composite/amd64", + "dockerfile": "src/aspnet/10.0/alpine3.21-composite/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-amd64": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|10.0|minor-tag)-alpine-composite-amd64": {} } }, { @@ -5567,13 +7571,14 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21-composite/arm32v7", + "dockerfile": "src/aspnet/10.0/alpine3.21-composite/arm32v7", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-alpine-composite-arm32v7": {} }, "variant": "v7" }, @@ -5582,95 +7587,88 @@ "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/alpine3.21-composite/arm64v8", + "dockerfile": "src/aspnet/10.0/alpine3.21-composite/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", "osVersion": "alpine3.21", "tags": { - "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-alpine-composite-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble": {}, - "$(dotnet|9.0|minor-tag)-noble": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble/amd64", + "dockerfile": "src/aspnet/10.0/azurelinux3.0/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "noble", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-amd64": {} } }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/noble/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "noble", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-arm32v7": {} - }, - "variant": "v7" - }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble/arm64v8", + "dockerfile": "src/aspnet/10.0/azurelinux3.0/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "noble", + "osVersion": "azurelinux3.0", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled/amd64", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5680,13 +7678,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled/arm64v8", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5694,31 +7692,14 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] - } - ] - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime)" - }, - "dockerfile": "src/aspnet/9.0/noble-chiseled/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", - "os": "linux", - "osVersion": "noble-chiseled", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7": {} - }, - "variant": "v7", - "customBuildLegGroups": [ + }, { - "name": "pr-build", - "type": "Supplemental", + "name": "test-dependencies", + "type": "Integral", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] @@ -5726,37 +7707,37 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/amd64", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-amd64": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] } ] @@ -5766,13 +7747,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/arm64v8", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -5780,224 +7761,235 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" ] } ] - }, + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite": {} + }, + "platforms": [ { - "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime)" + "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-extra/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-extra-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite-amd64": {} }, - "variant": "v7", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-noble-arm32v7" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:aspnet):$(dotnet|9.0|minor-tag)-noble-chiseled-arm32v7" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" ] } ] - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra": {} - }, - "platforms": [ - { - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", - "os": "linux", - "osVersion": "noble-chiseled", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-amd64": {} - } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", - "os": "linux", - "osVersion": "noble-chiseled", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-arm64v8": {} - }, - "variant": "v8" - }, - { - "architecture": "arm", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-extra-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite-arm64v8": {} }, - "variant": "v7" + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite-extra": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", - "os": "linux", - "osVersion": "noble-chiseled", - "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-amd64": {} - } - }, - { - "architecture": "arm64", - "buildArgs": { - "REPO": "$(Repo:runtime-deps)" - }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite-extra-amd64": {} }, - "variant": "v8" + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-amd64" + ] + } + ] }, { - "architecture": "arm", + "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/noble-chiseled-composite/arm32v7", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", - "osVersion": "noble-chiseled", + "osVersion": "azurelinux3.0-distroless", "tags": { - "$(dotnet|9.0|fixed-tag)-noble-chiseled-composite-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-noble-chiseled-composite-arm32v7": {} + "$(dotnet|10.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {} }, - "variant": "v7" + "variant": "v8", + "customBuildLegGroups": [ + { + "name": "pr-build", + "type": "Supplemental", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + }, + { + "name": "test-dependencies", + "type": "Integral", + "dependencies": [ + "$(Repo:sdk):$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8" + ] + } + ] } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0/amd64", + "dockerfile": "src/aspnet/10.0/bookworm-slim/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-amd64": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-amd64": {} } }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/10.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm32v7": {} + }, + "variant": "v7" + }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0/arm64v8", + "dockerfile": "src/aspnet/10.0/bookworm-slim/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0", + "osVersion": "bookworm-slim", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-bookworm-slim-arm64v8": {} }, "variant": "v8" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless/amd64", + "dockerfile": "src/aspnet/10.0/noble-chiseled/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" ] } ] @@ -6007,13 +7999,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless/arm64v8", + "dockerfile": "src/aspnet/10.0/noble-chiseled/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -6021,14 +8013,31 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" ] - }, + } + ] + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/10.0/noble-chiseled/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-arm32v7": {} + }, + "variant": "v7", + "customBuildLegGroups": [ { - "name": "test-dependencies", - "type": "Integral", + "name": "pr-build", + "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" ] } ] @@ -6036,37 +8045,37 @@ ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64", + "dockerfile": "src/aspnet/10.0/noble-chiseled-extra/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-amd64": {} }, "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-amd64" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:aspnet):$(dotnet|10.0|minor-tag)-noble-chiseled-amd64" ] } ] @@ -6076,13 +8085,13 @@ "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8", + "dockerfile": "src/aspnet/10.0/noble-chiseled-extra/arm64v8", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-extra-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -6090,262 +8099,259 @@ "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm64v8" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" + "$(Repo:aspnet):$(dotnet|10.0|minor-tag)-noble-chiseled-arm64v8" ] } ] - } - ] - }, - { - "productVersion": "$(dotnet|9.0|product-version)", - "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite": {} - }, - "platforms": [ + }, { + "architecture": "arm", "buildArgs": { - "REPO": "$(Repo:runtime-deps)" + "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/noble-chiseled-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-amd64": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-extra-arm32v7": {} }, + "variant": "v7", "customBuildLegGroups": [ { "name": "pr-build", "type": "Supplemental", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:sdk):$(sdk|10.0|minor-tag)-noble-arm32v7" ] }, { "name": "test-dependencies", "type": "Integral", "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" + "$(Repo:aspnet):$(dotnet|10.0|minor-tag)-noble-chiseled-arm32v7" ] } ] + } + ] + }, + { + "productVersion": "$(dotnet|10.0|product-version)", + "sharedTags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-extra": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-extra": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite-extra/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-extra-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-extra-amd64": {} + } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-extra-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-extra-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" - ] - } - ] + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-extra-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-extra-arm32v7": {} + }, + "variant": "v7" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "sharedTags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite": {} }, "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra-amd64": {} - }, - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-amd64" - ] - } - ] + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-amd64": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-amd64": {} + } }, { "architecture": "arm64", "buildArgs": { "REPO": "$(Repo:runtime-deps)" }, - "dockerfile": "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8", - "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite.extra", + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", "os": "linux", - "osVersion": "azurelinux3.0-distroless", + "osVersion": "noble-chiseled", "tags": { - "$(dotnet|9.0|fixed-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-azurelinux3.0-distroless-composite-extra-arm64v8": {} + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-arm64v8": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-arm64v8": {} }, - "variant": "v8", - "customBuildLegGroups": [ - { - "name": "pr-build", - "type": "Supplemental", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" - ] - }, - { - "name": "test-dependencies", - "type": "Integral", - "dependencies": [ - "$(Repo:sdk):$(sdk|9.0|minor-tag)-azurelinux3.0-arm64v8" - ] - } - ] + "variant": "v8" + }, + { + "architecture": "arm", + "buildArgs": { + "REPO": "$(Repo:runtime-deps)" + }, + "dockerfile": "src/aspnet/10.0/noble-chiseled-composite/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.linux-composite", + "os": "linux", + "osVersion": "noble-chiseled", + "tags": { + "$(dotnet|10.0|fixed-tag)-noble-chiseled-composite-arm32v7": {}, + "$(dotnet|10.0|minor-tag)-noble-chiseled-composite-arm32v7": {} + }, + "variant": "v7" } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/nanoserver-1809/amd64", + "dockerfile": "src/aspnet/10.0/nanoserver-1809/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-1809", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-1809": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-1809": {} + "$(dotnet|10.0|fixed-tag)-nanoserver-1809": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-1809": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/nanoserver-ltsc2022/amd64", + "dockerfile": "src/aspnet/10.0/nanoserver-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2022", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2022": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2022": {} + "$(dotnet|10.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/nanoserver-ltsc2025/amd64", + "dockerfile": "src/aspnet/10.0/nanoserver-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "nanoserver-ltsc2025", "tags": { - "$(dotnet|9.0|fixed-tag)-nanoserver-ltsc2025": {}, - "$(dotnet|9.0|minor-tag)-nanoserver-ltsc2025": {} + "$(dotnet|10.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(dotnet|10.0|minor-tag)-nanoserver-ltsc2025": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2019/amd64", + "dockerfile": "src/aspnet/10.0/windowsservercore-ltsc2019/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2019", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2019": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2019": {} + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2019": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2022/amd64", + "dockerfile": "src/aspnet/10.0/windowsservercore-ltsc2022/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2022", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2022": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2022": {} + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2022": {} } } ] }, { - "productVersion": "$(dotnet|9.0|product-version)", + "productVersion": "$(dotnet|10.0|product-version)", "platforms": [ { "buildArgs": { "REPO": "$(Repo:runtime)" }, - "dockerfile": "src/aspnet/9.0/windowsservercore-ltsc2025/amd64", + "dockerfile": "src/aspnet/10.0/windowsservercore-ltsc2025/amd64", "dockerfileTemplate": "eng/dockerfile-templates/aspnet/Dockerfile.windows", "os": "windows", "osVersion": "windowsservercore-ltsc2025", "tags": { - "$(dotnet|9.0|fixed-tag)-windowsservercore-ltsc2025": {}, - "$(dotnet|9.0|minor-tag)-windowsservercore-ltsc2025": {} + "$(dotnet|10.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(dotnet|10.0|minor-tag)-windowsservercore-ltsc2025": {} } } ] @@ -7089,8 +9095,7 @@ "$(sdk|9.0|fixed-tag)-bookworm-slim": {}, "$(sdk|9.0|minor-tag)-bookworm-slim": {}, "$(sdk|9.0|fixed-tag)": {}, - "$(sdk|9.0|minor-tag)": {}, - "latest": {} + "$(sdk|9.0|minor-tag)": {} }, "platforms": [ { @@ -7629,6 +9634,314 @@ } } ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "sharedTags": { + "$(sdk|10.0|fixed-tag)-noble": {}, + "$(sdk|10.0|minor-tag)-noble": {}, + "$(sdk|10.0|fixed-tag)": {}, + "$(sdk|10.0|minor-tag)": {}, + "latest": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/noble/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(sdk|10.0|fixed-tag)-noble-amd64": {}, + "$(sdk|10.0|minor-tag)-noble-amd64": {} + } + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm", + "dockerfile": "src/sdk/10.0/noble/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(sdk|10.0|fixed-tag)-noble-arm32v7": {}, + "$(sdk|10.0|minor-tag)-noble-arm32v7": {} + }, + "variant": "v7" + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm64", + "dockerfile": "src/sdk/10.0/noble/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "noble", + "tags": { + "$(sdk|10.0|fixed-tag)-noble-arm64v8": {}, + "$(sdk|10.0|minor-tag)-noble-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "sharedTags": { + "$(sdk|10.0|fixed-tag)-alpine3.21": {}, + "$(sdk|10.0|minor-tag)-alpine3.21": {}, + "$(sdk|10.0|minor-tag)-alpine": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/alpine3.21/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(sdk|10.0|fixed-tag)-alpine3.21-amd64": {}, + "$(sdk|10.0|minor-tag)-alpine3.21-amd64": {}, + "$(sdk|10.0|minor-tag)-alpine-amd64": {} + } + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm", + "dockerfile": "src/sdk/10.0/alpine3.21/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(sdk|10.0|fixed-tag)-alpine3.21-arm32v7": {}, + "$(sdk|10.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(sdk|10.0|minor-tag)-alpine-arm32v7": {} + }, + "variant": "v7" + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm64", + "dockerfile": "src/sdk/10.0/alpine3.21/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "alpine3.21", + "tags": { + "$(sdk|10.0|fixed-tag)-alpine3.21-arm64v8": {}, + "$(sdk|10.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(sdk|10.0|minor-tag)-alpine-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "sharedTags": { + "$(sdk|10.0|fixed-tag)-azurelinux3.0": {}, + "$(sdk|10.0|minor-tag)-azurelinux3.0": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/azurelinux3.0/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(sdk|10.0|fixed-tag)-azurelinux3.0-amd64": {}, + "$(sdk|10.0|minor-tag)-azurelinux3.0-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/azurelinux3.0/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "azurelinux3.0", + "tags": { + "$(sdk|10.0|fixed-tag)-azurelinux3.0-arm64v8": {}, + "$(sdk|10.0|minor-tag)-azurelinux3.0-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "sharedTags": { + "$(sdk|10.0|fixed-tag)-bookworm-slim": {}, + "$(sdk|10.0|minor-tag)-bookworm-slim": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/bookworm-slim/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(sdk|10.0|fixed-tag)-bookworm-slim-amd64": {}, + "$(sdk|10.0|minor-tag)-bookworm-slim-amd64": {} + } + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm", + "dockerfile": "src/sdk/10.0/bookworm-slim/arm32v7", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(sdk|10.0|fixed-tag)-bookworm-slim-arm32v7": {}, + "$(sdk|10.0|minor-tag)-bookworm-slim-arm32v7": {} + }, + "variant": "v7" + }, + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "architecture": "arm64", + "dockerfile": "src/sdk/10.0/bookworm-slim/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.linux", + "os": "linux", + "osVersion": "bookworm-slim", + "tags": { + "$(sdk|10.0|fixed-tag)-bookworm-slim-arm64v8": {}, + "$(sdk|10.0|minor-tag)-bookworm-slim-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/nanoserver-1809/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-1809", + "tags": { + "$(sdk|10.0|fixed-tag)-nanoserver-1809": {}, + "$(sdk|10.0|minor-tag)-nanoserver-1809": {} + } + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/nanoserver-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2022", + "tags": { + "$(sdk|10.0|fixed-tag)-nanoserver-ltsc2022": {}, + "$(sdk|10.0|minor-tag)-nanoserver-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(sdk|10.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(sdk|10.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/windowsservercore-ltsc2019/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2019", + "tags": { + "$(sdk|10.0|fixed-tag)-windowsservercore-ltsc2019": {}, + "$(sdk|10.0|minor-tag)-windowsservercore-ltsc2019": {} + } + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/windowsservercore-ltsc2022/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2022", + "tags": { + "$(sdk|10.0|fixed-tag)-windowsservercore-ltsc2022": {}, + "$(sdk|10.0|minor-tag)-windowsservercore-ltsc2022": {} + } + } + ] + }, + { + "productVersion": "$(sdk|10.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/10.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(sdk|10.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(sdk|10.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] } ] }, diff --git a/manifest.versions.json b/manifest.versions.json index 9d2d84d23e..fce9ee0c8d 100644 --- a/manifest.versions.json +++ b/manifest.versions.json @@ -6,6 +6,7 @@ "base-url|public|preview|nightly": "https://ci.dot.net/public", "alpine|floating-tag-version": "alpine3.20", + "alpine|10.0|floating-tag-version": "alpine3.21", "alpine|9.0|floating-tag-version": "$(alpine|floating-tag-version)", "alpine|8.0|floating-tag-version": "$(alpine|floating-tag-version)", @@ -35,6 +36,22 @@ "aspnet-composite|8.0|linux-musl|arm|sha": "44b22ee55213537adfeaed8c94bf295769ac96d3d2bc244cb20811cf4aa7c215f6c2e31856a2c100c4fb1eb0f9080f07c57fcea7e985232d32c0520e7c02449a", "aspnet-composite|8.0|linux-musl|arm64|sha": "44707162db307159e8ff643e50d630997b86043cd4e61059129fed20ac6b88c2a5d61244f6da40d93f4681e1fc4cc844174d62e38a028042d520b963264ab1de", + "aspnet|10.0|build-version": "10.0.0-alpha.2.25072.6", + "aspnet|10.0|linux-musl|x64|sha": "9bfc920dbfaf78bdd62f4f50a2d8d39d6042f8d71a6ddb420a80d20af3fb4d8a26403b78a9b2d29772940d1c826340fab4059079129a273fb87024af3eb1d04d", + "aspnet|10.0|linux-musl|arm|sha": "57878f534db97866ae61638a7225574eb9750205c79f5959ca35d250b66c5e644d05d13e9217d159bd1dfc06e1975c2d9057dca26ac74dee56662d956e835c6c", + "aspnet|10.0|linux-musl|arm64|sha": "1d51189e04f2366139552be73836ac8da6d1f80dafed6d9931871a454b99b835b41f7c53d7bc9737089b71c6ad1ea090078a67871edb4367a6c2b81cc03afdc5", + "aspnet|10.0|linux|arm|sha": "5008e88b2621f36bc71a95100f3ba411d14628320c59af074a972381abf550e8d4a76cb7c16b46617961d949baa9be2ec1c4ba70b789f4fce65deb03cefd5dbb", + "aspnet|10.0|linux|x64|sha": "fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772", + "aspnet|10.0|linux|arm64|sha": "a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d", + "aspnet|10.0|win|x64|sha": "3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b", + + "aspnet-composite|10.0|linux|x64|sha": "27295be0301b7a7301abe2998e259b8b80e2dee0c660ed8074b12c7c8a0b915b18a39d985ee9d8af75178aeaf21bdce79512a1def05d910ff62abfcd09e0ff64", + "aspnet-composite|10.0|linux|arm|sha": "8793dd1c05346f6b4c5ccae513adf9052fe4671ff82712ddef0249cf81a954b5d9a029f7c753538f49bbff78c7df79d4802eb8605c04c6959168e30da85df57d", + "aspnet-composite|10.0|linux|arm64|sha": "03485bc14d01237616831ce5227893cebca0d655238fa8f982143424f53817381e23e1f2a0da6203f282abff8e4457de00435c97e71ccb277e0c86d696a198c4", + "aspnet-composite|10.0|linux-musl|x64|sha": "bbebc0869af3687f6eeee6961cd4acb4f13fffc95883d4b39711cda40352282bb2e775120a4fc9ead3737b4131654b1f99f44561779c921677b6d46f59269aaa", + "aspnet-composite|10.0|linux-musl|arm|sha": "bbc1e60b94acc2af0b5dbc1c185fcd91a54c40e80d3e1aff306f65179a4fe177dbbf067d47f69f37c0b9bce8d6aa4e9aa875a8bcef8ab1a7f0c1ae0c2d911e83", + "aspnet-composite|10.0|linux-musl|arm64|sha": "6105e42b945a4f4de94a5eca02daa77deb56f6f66a0fb6688b85d140ab691b62185756c1b2591458a72061af6c50b8030d033d47e07629ed2cc0961ca8eb5d9e", + "aspnet|9.0|build-version": "9.0.1", "aspnet|9.0|linux-musl|x64|sha": "d3f609184959849f7524fdfb55c5cf9a8391d0a773483aa6659d9baa152656835f26c2fe9ba322e718a8eb7781fb996eb4ebc6953beaf6fdfb5628ef31bfc853", "aspnet|9.0|linux-musl|arm|sha": "3ea55cc5098dc08909a385219fad1e38635f6eef6cd66ea526b92dd57f765dc348380422e5e0b9c8ade286e18e713caa4b7ff2d06a23c3fed31b8b5c91d2dc6b", @@ -54,6 +71,9 @@ "chisel|latest|x64|url": "https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_amd64.tar.gz", "chisel|latest|arm|url": "https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm.tar.gz", "chisel|latest|arm64|url": "https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm64.tar.gz", + "chisel|10.0|x64|url": "$(chisel|latest|x64|url)", + "chisel|10.0|arm|url": "$(chisel|latest|arm|url)", + "chisel|10.0|arm64|url": "$(chisel|latest|arm64|url)", "chisel|9.0|x64|url": "$(chisel|latest|x64|url)", "chisel|9.0|arm|url": "$(chisel|latest|arm|url)", "chisel|9.0|arm64|url": "$(chisel|latest|arm64|url)", @@ -64,6 +84,9 @@ "chisel|latest|x64|sha384": "f53b6e4e9bf43f234201353487684c7d6e04e4f9a2ee766debbfc92f824b717fbd5d585a9147fb5652e0724473ae2959", "chisel|latest|arm|sha384": "b05fbb0e5df420909375b62cf2d8922e44ccc8339f1ab0b4866953d834303fe143ef1e0d47506dcd0bd54ed6462a97af", "chisel|latest|arm64|sha384": "980f53722642429478eba402f720ced634c032445d993e2165e9fd29c6054cf3c15c32b6a570938bb86f8218d3f92d15", + "chisel|10.0|x64|sha384": "$(chisel|latest|x64|sha384)", + "chisel|10.0|arm|sha384": "$(chisel|latest|arm|sha384)", + "chisel|10.0|arm64|sha384": "$(chisel|latest|arm64|sha384)", "chisel|9.0|x64|sha384": "$(chisel|latest|x64|sha384)", "chisel|9.0|arm|sha384": "$(chisel|latest|arm|sha384)", "chisel|9.0|arm64|sha384": "$(chisel|latest|arm64|sha384)", @@ -83,6 +106,12 @@ "dotnet|9.0|base-url|main": "$(base-url|public|maintenance|main)", "dotnet|9.0|base-url|nightly": "$(base-url|public|maintenance|nightly)", + "dotnet|10.0|product-version": "10.0.0-alpha.1", + "dotnet|10.0|fixed-tag": "$(dotnet|10.0|product-version)", + "dotnet|10.0|minor-tag": "10.0-preview", + "dotnet|10.0|base-url|main": "$(base-url|public|preview|main)", + "dotnet|10.0|base-url|nightly": "$(base-url|public|preview|nightly)", + "libicu|bookworm": 72, "libicu|bullseye": 67, "libicu|focal": 66, @@ -103,6 +132,8 @@ "mingit|8.0|x64|sha": "$(mingit|latest|x64|sha)", "mingit|9.0|x64|url": "$(mingit|latest|x64|url)", "mingit|9.0|x64|sha": "$(mingit|latest|x64|sha)", + "mingit|10.0|x64|url": "$(mingit|latest|x64|url)", + "mingit|10.0|x64|sha": "$(mingit|latest|x64|sha)", "monitor|8.0|build-version": "8.0.7-servicing.25058.4", "monitor|8.0|product-version": "8.0.7", @@ -159,6 +190,13 @@ "powershell|9.0|Linux|x64|sha": "997a634bf50a3e742d00badcc2ce0a4fd1e65e430c371fc276ead7634193f029e5670118c099bd2b3e6d2e06c6eb3cb00b4352c734ab3fd360dd7b79428ecb46", "powershell|9.0|Windows|x64|sha": "44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278", + "powershell|10.0|build-version": "$(powershell|9.0|build-version)", + "powershell|10.0|Linux.Alpine|sha": "$(powershell|9.0|Linux.Alpine|sha)", + "powershell|10.0|Linux|arm32|sha": "$(powershell|9.0|Linux|arm32|sha)", + "powershell|10.0|Linux|arm64|sha": "$(powershell|9.0|Linux|arm64|sha)", + "powershell|10.0|Linux|x64|sha": "$(powershell|9.0|Linux|x64|sha)", + "powershell|10.0|Windows|x64|sha": "$(powershell|9.0|Windows|x64|sha)", + "reverse-proxy|2.3|build-version": "2.3.0-preview.1.25060.1", "reverse-proxy|2.3|product-version": "2.3.0-preview.1", "reverse-proxy|2.3|fixed-tag": "$(reverse-proxy|2.3|product-version)", @@ -173,10 +211,12 @@ "rocks-toolbox|latest|url": "https://raw.githubusercontent.com/canonical/rocks-toolbox", "rocks-toolbox|8.0|url": "$(rocks-toolbox|latest|url)", "rocks-toolbox|9.0|url": "$(rocks-toolbox|latest|url)", + "rocks-toolbox|10.0|url": "$(rocks-toolbox|latest|url)", "rocks-toolbox|latest|version": "v1.1.2", "rocks-toolbox|8.0|version": "$(rocks-toolbox|latest|version)", "rocks-toolbox|9.0|version": "$(rocks-toolbox|latest|version)", + "rocks-toolbox|10.0|version": "$(rocks-toolbox|latest|version)", "runtime|8.0|build-version": "8.0.12", "runtime|8.0|linux-musl|x64|sha": "2a97a07e9fb2dcc8225850c9574a014f9a111147d87ded6293eb7bf26cf6bee6cc516713c02c13a08e9776dbadd583627f05e6e62daaaf96f653e28c0b37b25e", @@ -196,6 +236,15 @@ "runtime|9.0|linux|arm64|sha": "38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b", "runtime|9.0|win|x64|sha": "30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f", + "runtime|10.0|build-version": "10.0.0-alpha.1.25072.13", + "runtime|10.0|linux-musl|x64|sha": "71f454c600a43710b6b1ac4d9c787a8540255b8b54209ba6725d3456149117c63b29125aefc4bc5aa304cad1acf6478707039a5a2bc944392e29eda79624a7f5", + "runtime|10.0|linux-musl|arm|sha": "b2866cabf53f603a5c06a70cb388b3bfa735c077140e7742a5545684d980575711e9a10e17f949e3db52dd3ad9bcff78796f7fe4e0b8a53623213657e4418a7b", + "runtime|10.0|linux-musl|arm64|sha": "5ca37453bbaf4928a8e149fa55a78bae8772f8490cf53c71aaa42a8982fbd4392983f281ef656370fd931c1fbce741d60c6feb605ddb164caa8a1640fb687b5f", + "runtime|10.0|linux|arm|sha": "eabc936a4cff0480a73fe1d7171cdbbce9e7e01f7ddcb749f2eaf52f7641d2b80fd0c6206a49663395b79d08721765bc8bfadddd3bf7fbceab1c78b0138b2444", + "runtime|10.0|linux|x64|sha": "32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2", + "runtime|10.0|linux|arm64|sha": "6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f", + "runtime|10.0|win|x64|sha": "68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1", + "sdk|8.0|build-version": "8.0.405", "sdk|8.0|product-version": "8.0.405", "sdk|8.0|fixed-tag": "$(sdk|8.0|product-version)", @@ -220,6 +269,18 @@ "sdk|9.0|linux|x64|sha": "f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099", "sdk|9.0|win|x64|sha": "c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5", + "sdk|10.0|build-version": "10.0.100-alpha.1.25073.10", + "sdk|10.0|product-version": "10.0.100-alpha.1", + "sdk|10.0|fixed-tag": "$(sdk|10.0|product-version)", + "sdk|10.0|minor-tag": "$(dotnet|10.0|minor-tag)", + "sdk|10.0|linux-musl|arm|sha": "c2340aa18c57f50d2eea7844c1725bedef94f5f050a1f0e90d051be83deccbbfeabab1c3fb3632b1d57de8e7b02ce1ee2956758c45c76f159c7aa558abf4df24", + "sdk|10.0|linux-musl|arm64|sha": "97e52c5cbf33e3e97bc80efe81fe2fd2e0c8be6673d674287c6deab48e89595d8dcff19881df4c5a3afd1c55eeb65f2ae0fbd2c728fde86bd14950f0e4717fff", + "sdk|10.0|linux-musl|x64|sha": "d21b1151256fa27a3ff0d79f11c32b719c10b3a64656bcd2708f215c7d67817b18da20677b4f43987b1aceaf04fb3c9b73102e1be90806e57fdc7425e6109c40", + "sdk|10.0|linux|arm|sha": "5f70ea66b9e0cfb84a87d6639765d885713d5e411faa193c85f87052f1cc66ae29a970d911de2826c0e992151f7724563157a7e1e27e7fb3d949153a19f53737", + "sdk|10.0|linux|arm64|sha": "aae3fc52d14240edc1e72d5d7ba6e049303bab273696d048c021b26b5f7aaf0ecb30295ea1078bbe15082e7a9864f0b7d1dfe51111e2e0ea3ac152dba8106cce", + "sdk|10.0|linux|x64|sha": "9758c3553aeb0fca705b38200bfe13a8fc8cd8c34571116dbb9e9dacf50cd336d916c84e03c0b46c6974708bec608001eb0ca92354ff91e335ebb35a5dca5235", + "sdk|10.0|win|x64|sha": "92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35", + "syft|repo": "anchore/syft", "syft|tag": "v1.19.0" } diff --git a/src/aspnet/10.0/alpine3.21-composite/amd64/Dockerfile b/src/aspnet/10.0/alpine3.21-composite/amd64/Dockerfile new file mode 100644 index 0000000000..8004660226 --- /dev/null +++ b/src/aspnet/10.0/alpine3.21-composite/amd64/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-amd64 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + + +# Install ASP.NET Composite Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-x64.tar.gz \ + && dotnet_sha512='bbebc0869af3687f6eeee6961cd4acb4f13fffc95883d4b39711cda40352282bb2e775120a4fc9ead3737b4131654b1f99f44561779c921677b6d46f59269aaa' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/aspnet/10.0/alpine3.21-composite/arm32v7/Dockerfile b/src/aspnet/10.0/alpine3.21-composite/arm32v7/Dockerfile new file mode 100644 index 0000000000..4516f88c8d --- /dev/null +++ b/src/aspnet/10.0/alpine3.21-composite/arm32v7/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm32v7 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + + +# Install ASP.NET Composite Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm.tar.gz \ + && dotnet_sha512='bbc1e60b94acc2af0b5dbc1c185fcd91a54c40e80d3e1aff306f65179a4fe177dbbf067d47f69f37c0b9bce8d6aa4e9aa875a8bcef8ab1a7f0c1ae0c2d911e83' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/aspnet/10.0/alpine3.21-composite/arm64v8/Dockerfile b/src/aspnet/10.0/alpine3.21-composite/arm64v8/Dockerfile new file mode 100644 index 0000000000..f4733797a1 --- /dev/null +++ b/src/aspnet/10.0/alpine3.21-composite/arm64v8/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm64v8 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + + +# Install ASP.NET Composite Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ + && dotnet_sha512='6105e42b945a4f4de94a5eca02daa77deb56f6f66a0fb6688b85d140ab691b62185756c1b2591458a72061af6c50b8030d033d47e07629ed2cc0961ca8eb5d9e' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/aspnet/10.0/alpine3.21/amd64/Dockerfile b/src/aspnet/10.0/alpine3.21/amd64/Dockerfile new file mode 100644 index 0000000000..9a9ab751d1 --- /dev/null +++ b/src/aspnet/10.0/alpine3.21/amd64/Dockerfile @@ -0,0 +1,15 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-alpine3.21-amd64 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core +RUN wget -O aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-x64.tar.gz \ + && aspnetcore_sha512='9bfc920dbfaf78bdd62f4f50a2d8d39d6042f8d71a6ddb420a80d20af3fb4d8a26403b78a9b2d29772940d1c826340fab4059079129a273fb87024af3eb1d04d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz -C /usr/share/dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz diff --git a/src/aspnet/10.0/alpine3.21/arm32v7/Dockerfile b/src/aspnet/10.0/alpine3.21/arm32v7/Dockerfile new file mode 100644 index 0000000000..0cb9de2fc9 --- /dev/null +++ b/src/aspnet/10.0/alpine3.21/arm32v7/Dockerfile @@ -0,0 +1,15 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm32v7 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core +RUN wget -O aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm.tar.gz \ + && aspnetcore_sha512='57878f534db97866ae61638a7225574eb9750205c79f5959ca35d250b66c5e644d05d13e9217d159bd1dfc06e1975c2d9057dca26ac74dee56662d956e835c6c' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz -C /usr/share/dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz diff --git a/src/aspnet/10.0/alpine3.21/arm64v8/Dockerfile b/src/aspnet/10.0/alpine3.21/arm64v8/Dockerfile new file mode 100644 index 0000000000..b083599cb7 --- /dev/null +++ b/src/aspnet/10.0/alpine3.21/arm64v8/Dockerfile @@ -0,0 +1,15 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm64v8 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core +RUN wget -O aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ + && aspnetcore_sha512='1d51189e04f2366139552be73836ac8da6d1f80dafed6d9931871a454b99b835b41f7c53d7bc9737089b71c6ad1ea090078a67871edb4367a6c2b81cc03afdc5' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz -C /usr/share/dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile new file mode 100644 index 0000000000..63f8b7a85e --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile @@ -0,0 +1,38 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ + && dotnet_sha512='27295be0301b7a7301abe2998e259b8b80e2dee0c660ed8074b12c7c8a0b915b18a39d985ee9d8af75178aeaf21bdce79512a1def05d910ff62abfcd09e0ff64' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..703ec8086f --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile @@ -0,0 +1,38 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ + && dotnet_sha512='03485bc14d01237616831ce5227893cebca0d655238fa8f982143424f53817381e23e1f2a0da6203f282abff8e4457de00435c97e71ccb277e0c86d696a198c4' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64/Dockerfile new file mode 100644 index 0000000000..e503ad1ec1 --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64/Dockerfile @@ -0,0 +1,38 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ + && dotnet_sha512='27295be0301b7a7301abe2998e259b8b80e2dee0c660ed8074b12c7c8a0b915b18a39d985ee9d8af75178aeaf21bdce79512a1def05d910ff62abfcd09e0ff64' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile new file mode 100644 index 0000000000..c74785e35a --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile @@ -0,0 +1,38 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ + && dotnet_sha512='03485bc14d01237616831ce5227893cebca0d655238fa8f982143424f53817381e23e1f2a0da6203f282abff8e4457de00435c97e71ccb277e0c86d696a198c4' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile new file mode 100644 index 0000000000..d04f07ca5e --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..88578bf7b2 --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless/amd64/Dockerfile new file mode 100644 index 0000000000..4c42249834 --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/aspnet/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile new file mode 100644 index 0000000000..6d3760209b --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/azurelinux3.0/amd64/Dockerfile b/src/aspnet/10.0/azurelinux3.0/amd64/Dockerfile new file mode 100644 index 0000000000..0874ede19c --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0/amd64/Dockerfile @@ -0,0 +1,25 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-amd64 AS installer + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/azurelinux3.0/arm64v8/Dockerfile b/src/aspnet/10.0/azurelinux3.0/arm64v8/Dockerfile new file mode 100644 index 0000000000..b9122c898d --- /dev/null +++ b/src/aspnet/10.0/azurelinux3.0/arm64v8/Dockerfile @@ -0,0 +1,25 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-arm64v8 AS installer + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/bookworm-slim/amd64/Dockerfile b/src/aspnet/10.0/bookworm-slim/amd64/Dockerfile new file mode 100644 index 0000000000..4f2d9dee9f --- /dev/null +++ b/src/aspnet/10.0/bookworm-slim/amd64/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/bookworm-slim/arm32v7/Dockerfile b/src/aspnet/10.0/bookworm-slim/arm32v7/Dockerfile new file mode 100644 index 0000000000..c76c137cda --- /dev/null +++ b/src/aspnet/10.0/bookworm-slim/arm32v7/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ + && aspnetcore_sha512='5008e88b2621f36bc71a95100f3ba411d14628320c59af074a972381abf550e8d4a76cb7c16b46617961d949baa9be2ec1c4ba70b789f4fce65deb03cefd5dbb' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/bookworm-slim/arm64v8/Dockerfile b/src/aspnet/10.0/bookworm-slim/arm64v8/Dockerfile new file mode 100644 index 0000000000..00b4befc8f --- /dev/null +++ b/src/aspnet/10.0/bookworm-slim/arm64v8/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/nanoserver-1809/amd64/Dockerfile b/src/aspnet/10.0/nanoserver-1809/amd64/Dockerfile new file mode 100644 index 0000000000..872e20e5f3 --- /dev/null +++ b/src/aspnet/10.0/nanoserver-1809/amd64/Dockerfile @@ -0,0 +1,32 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '10.0.0-alpha.2.25072.6'; ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet/shared/Microsoft.AspNetCore.App; ` + tar -oxzf aspnetcore.zip -C dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-nanoserver-1809 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/aspnet/10.0/nanoserver-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..19c98edc20 --- /dev/null +++ b/src/aspnet/10.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -0,0 +1,32 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '10.0.0-alpha.2.25072.6'; ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet/shared/Microsoft.AspNetCore.App; ` + tar -oxzf aspnetcore.zip -C dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-nanoserver-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/aspnet/10.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..195ad34be3 --- /dev/null +++ b/src/aspnet/10.0/nanoserver-ltsc2025/amd64/Dockerfile @@ -0,0 +1,32 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '10.0.0-alpha.2.25072.6'; ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet/shared/Microsoft.AspNetCore.App; ` + tar -oxzf aspnetcore.zip -C dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/noble-chiseled-composite-extra/amd64/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite-extra/amd64/Dockerfile new file mode 100644 index 0000000000..0dbed6ae67 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite-extra/amd64/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ + && dotnet_sha512='27295be0301b7a7301abe2998e259b8b80e2dee0c660ed8074b12c7c8a0b915b18a39d985ee9d8af75178aeaf21bdce79512a1def05d910ff62abfcd09e0ff64' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7/Dockerfile new file mode 100644 index 0000000000..e2d8badb96 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ + && dotnet_sha512='8793dd1c05346f6b4c5ccae513adf9052fe4671ff82712ddef0249cf81a954b5d9a029f7c753538f49bbff78c7df79d4802eb8605c04c6959168e30da85df57d' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..044ebc9cec --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ + && dotnet_sha512='03485bc14d01237616831ce5227893cebca0d655238fa8f982143424f53817381e23e1f2a0da6203f282abff8e4457de00435c97e71ccb277e0c86d696a198c4' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-composite/amd64/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite/amd64/Dockerfile new file mode 100644 index 0000000000..2514e3829a --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite/amd64/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ + && dotnet_sha512='27295be0301b7a7301abe2998e259b8b80e2dee0c660ed8074b12c7c8a0b915b18a39d985ee9d8af75178aeaf21bdce79512a1def05d910ff62abfcd09e0ff64' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-composite/arm32v7/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite/arm32v7/Dockerfile new file mode 100644 index 0000000000..58e1847aa1 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite/arm32v7/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ + && dotnet_sha512='8793dd1c05346f6b4c5ccae513adf9052fe4671ff82712ddef0249cf81a954b5d9a029f7c753538f49bbff78c7df79d4802eb8605c04c6959168e30da85df57d' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-composite/arm64v8/Dockerfile b/src/aspnet/10.0/noble-chiseled-composite/arm64v8/Dockerfile new file mode 100644 index 0000000000..72c4383da8 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-composite/arm64v8/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ + && dotnet_sha512='03485bc14d01237616831ce5227893cebca0d655238fa8f982143424f53817381e23e1f2a0da6203f282abff8e4457de00435c97e71ccb277e0c86d696a198c4' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# ASP.NET Composite Image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 \ + # ASP.NET Core version + ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/aspnet/10.0/noble-chiseled-extra/amd64/Dockerfile b/src/aspnet/10.0/noble-chiseled-extra/amd64/Dockerfile new file mode 100644 index 0000000000..4ed5dd46f0 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-extra/amd64/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/aspnet/10.0/noble-chiseled-extra/arm32v7/Dockerfile new file mode 100644 index 0000000000..ab5d4ef58a --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ + && aspnetcore_sha512='5008e88b2621f36bc71a95100f3ba411d14628320c59af074a972381abf550e8d4a76cb7c16b46617961d949baa9be2ec1c4ba70b789f4fce65deb03cefd5dbb' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/aspnet/10.0/noble-chiseled-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..28ff0e9035 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble-chiseled/amd64/Dockerfile b/src/aspnet/10.0/noble-chiseled/amd64/Dockerfile new file mode 100644 index 0000000000..f4a9962964 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled/amd64/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble-chiseled/arm32v7/Dockerfile b/src/aspnet/10.0/noble-chiseled/arm32v7/Dockerfile new file mode 100644 index 0000000000..e584f5e516 --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled/arm32v7/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ + && aspnetcore_sha512='5008e88b2621f36bc71a95100f3ba411d14628320c59af074a972381abf550e8d4a76cb7c16b46617961d949baa9be2ec1c4ba70b789f4fce65deb03cefd5dbb' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble-chiseled/arm64v8/Dockerfile b/src/aspnet/10.0/noble-chiseled/arm64v8/Dockerfile new file mode 100644 index 0000000000..9017f6a19b --- /dev/null +++ b/src/aspnet/10.0/noble-chiseled/arm64v8/Dockerfile @@ -0,0 +1,22 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/10.0/noble/amd64/Dockerfile b/src/aspnet/10.0/noble/amd64/Dockerfile new file mode 100644 index 0000000000..3ed19ba7f1 --- /dev/null +++ b/src/aspnet/10.0/noble/amd64/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ + && aspnetcore_sha512='fb7cb3e7df14a64576f2f33cd8f41ef2ba525cf9a252a2f270abbe5d0b01fac09c8f62c7d961da59ff9f3c1477af34e4d9741c889fafa6d5afa57314c8e11772' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/noble/arm32v7/Dockerfile b/src/aspnet/10.0/noble/arm32v7/Dockerfile new file mode 100644 index 0000000000..a68a999b2b --- /dev/null +++ b/src/aspnet/10.0/noble/arm32v7/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ + && aspnetcore_sha512='5008e88b2621f36bc71a95100f3ba411d14628320c59af074a972381abf550e8d4a76cb7c16b46617961d949baa9be2ec1c4ba70b789f4fce65deb03cefd5dbb' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/noble/arm64v8/Dockerfile b/src/aspnet/10.0/noble/arm64v8/Dockerfile new file mode 100644 index 0000000000..abcd85f2db --- /dev/null +++ b/src/aspnet/10.0/noble/arm64v8/Dockerfile @@ -0,0 +1,21 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve ASP.NET Core +RUN aspnetcore_version=10.0.0-alpha.2.25072.6 \ + && curl -fSL --output aspnetcore.tar.gz https://ci.dot.net/public/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ + && aspnetcore_sha512='a6dd43254771ee3ea64378b984c383c3e0f4dd39b88ff148ed61a8caccb60f34c4cd1d4e4805e4bddc6f7b3f7457f1fad2a2147951f7dbd2a7cb24540846b88d' \ + && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ + && tar -oxzf aspnetcore.tar.gz ./shared/Microsoft.AspNetCore.App \ + && rm aspnetcore.tar.gz + + +# ASP.NET Core image +FROM $REPO:10.0.0-alpha.1-noble-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/10.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/aspnet/10.0/windowsservercore-ltsc2019/amd64/Dockerfile new file mode 100644 index 0000000000..3f4039e28b --- /dev/null +++ b/src/aspnet/10.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -0,0 +1,22 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2019 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + tar -oxzf aspnetcore.zip -C $Env:ProgramFiles\dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip diff --git a/src/aspnet/10.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/aspnet/10.0/windowsservercore-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..ae6b7a6339 --- /dev/null +++ b/src/aspnet/10.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -0,0 +1,22 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + tar -oxzf aspnetcore.zip -C $Env:ProgramFiles\dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip diff --git a/src/aspnet/10.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/aspnet/10.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..afceff0c4a --- /dev/null +++ b/src/aspnet/10.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,22 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=10.0.0-alpha.2.25072.6 + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile aspnetcore.zip https://ci.dot.net/public/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` + $aspnetcore_sha512 = '3099301d804bb4d16704e7f8fdd6907adc5a4e5c0eca667378dce38f10ace3f20fc44a16e483a0aa88be0e0dde5e5b0f02f7e8e7ab03326e428796213d03dd0b'; ` + if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + tar -oxzf aspnetcore.zip -C $Env:ProgramFiles\dotnet ./shared/Microsoft.AspNetCore.App; ` + Remove-Item -Force aspnetcore.zip diff --git a/src/runtime-deps/10.0/alpine3.21-extra/amd64/Dockerfile b/src/runtime-deps/10.0/alpine3.21-extra/amd64/Dockerfile new file mode 100644 index 0000000000..80475e2b23 --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21-extra/amd64/Dockerfile @@ -0,0 +1,30 @@ +FROM amd64/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + icu-data-full \ + icu-libs \ + libgcc \ + libssl3 \ + libstdc++ \ + tzdata + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/alpine3.21-extra/arm32v7/Dockerfile b/src/runtime-deps/10.0/alpine3.21-extra/arm32v7/Dockerfile new file mode 100644 index 0000000000..fb4a1a8b8a --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21-extra/arm32v7/Dockerfile @@ -0,0 +1,30 @@ +FROM arm32v7/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + icu-data-full \ + icu-libs \ + libgcc \ + libssl3 \ + libstdc++ \ + tzdata + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/alpine3.21-extra/arm64v8/Dockerfile b/src/runtime-deps/10.0/alpine3.21-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..122d79810d --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21-extra/arm64v8/Dockerfile @@ -0,0 +1,30 @@ +FROM arm64v8/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + icu-data-full \ + icu-libs \ + libgcc \ + libssl3 \ + libstdc++ \ + tzdata + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/alpine3.21/amd64/Dockerfile b/src/runtime-deps/10.0/alpine3.21/amd64/Dockerfile new file mode 100644 index 0000000000..62322f4730 --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21/amd64/Dockerfile @@ -0,0 +1,29 @@ +FROM amd64/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + libgcc \ + libssl3 \ + libstdc++ + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/alpine3.21/arm32v7/Dockerfile b/src/runtime-deps/10.0/alpine3.21/arm32v7/Dockerfile new file mode 100644 index 0000000000..e8ef65ab32 --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21/arm32v7/Dockerfile @@ -0,0 +1,29 @@ +FROM arm32v7/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + libgcc \ + libssl3 \ + libstdc++ + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/alpine3.21/arm64v8/Dockerfile b/src/runtime-deps/10.0/alpine3.21/arm64v8/Dockerfile new file mode 100644 index 0000000000..780a807b7d --- /dev/null +++ b/src/runtime-deps/10.0/alpine3.21/arm64v8/Dockerfile @@ -0,0 +1,29 @@ +FROM arm64v8/alpine:3.21 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +RUN apk add --upgrade --no-cache \ + ca-certificates-bundle \ + \ + # .NET dependencies + libgcc \ + libssl3 \ + libstdc++ + +# Create a non-root user and group +RUN addgroup \ + --gid=$APP_UID \ + app \ + && adduser \ + --uid=$APP_UID \ + --ingroup=app \ + --disabled-password \ + app diff --git a/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + gawk \ + shadow-utils \ + && tdnf clean all + +# Install .NET's dependencies into a staging location +RUN mkdir /staging \ + && tdnf install -y --releasever=3.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + && tdnf clean all --releasever=3.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/azurelinux/distroless/minimal:3.0 /var/lib/rpmmanifest/container-manifest-2 /tmp/rpmmanifest +RUN tmpManifestPath="/tmp/rpmmanifest" \ + && rpm --query --all --queryformat "%{NAME}\t%{VERSION}-%{RELEASE}\t%{INSTALLTIME}\t%{BUILDTIME}\t%{VENDOR}\t%{EPOCH}\t%{SIZE}\t%{ARCH}\t%{EPOCHNUM}\t%{SOURCERPM}\n" --root /staging | grep -v gpg-pubkey >> $tmpManifestPath \ + && mkdir -p /staging/var/lib/rpmmanifest \ + # Remove duplicates that match on the first field (package name) + && tac $tmpManifestPath | gawk '!x[$1]++' | sort > /staging/var/lib/rpmmanifest/container-manifest-2 + +# Create a non-root user and group +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + --create-home \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/staging/home/app" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/staging/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/staging/etc/group" + +# Clean up staging +RUN rm -rf /staging/etc/tdnf \ + && rm -rf /staging/run/* \ + && rm -rf /staging/var/cache/tdnf \ + && rm -rf /staging/var/lib/rpm \ + && rm -rf /staging/usr/share/doc \ + && rm -rf /staging/usr/share/man \ + && find /staging/var/log -type f -size +0 -delete + + +# .NET runtime-deps image +FROM mcr.microsoft.com/azurelinux/distroless/minimal:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +COPY --from=installer /staging/ / + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=installer --chown=1654:1654 /staging/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + gawk \ + shadow-utils \ + && tdnf clean all + +# Install .NET's dependencies into a staging location +RUN mkdir /staging \ + && tdnf install -y --releasever=3.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + && tdnf clean all --releasever=3.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/azurelinux/distroless/minimal:3.0 /var/lib/rpmmanifest/container-manifest-2 /tmp/rpmmanifest +RUN tmpManifestPath="/tmp/rpmmanifest" \ + && rpm --query --all --queryformat "%{NAME}\t%{VERSION}-%{RELEASE}\t%{INSTALLTIME}\t%{BUILDTIME}\t%{VENDOR}\t%{EPOCH}\t%{SIZE}\t%{ARCH}\t%{EPOCHNUM}\t%{SOURCERPM}\n" --root /staging | grep -v gpg-pubkey >> $tmpManifestPath \ + && mkdir -p /staging/var/lib/rpmmanifest \ + # Remove duplicates that match on the first field (package name) + && tac $tmpManifestPath | gawk '!x[$1]++' | sort > /staging/var/lib/rpmmanifest/container-manifest-2 + +# Create a non-root user and group +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + --create-home \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/staging/home/app" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/staging/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/staging/etc/group" + +# Clean up staging +RUN rm -rf /staging/etc/tdnf \ + && rm -rf /staging/run/* \ + && rm -rf /staging/var/cache/tdnf \ + && rm -rf /staging/var/lib/rpm \ + && rm -rf /staging/usr/share/doc \ + && rm -rf /staging/usr/share/man \ + && find /staging/var/log -type f -size +0 -delete + + +# .NET runtime-deps image +FROM mcr.microsoft.com/azurelinux/distroless/minimal:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +COPY --from=installer /staging/ / + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=installer --chown=1654:1654 /staging/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0-distroless/amd64/Dockerfile new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + gawk \ + shadow-utils \ + && tdnf clean all + +# Install .NET's dependencies into a staging location +RUN mkdir /staging \ + && tdnf install -y --releasever=3.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + libstdc++ \ + openssl-libs \ + && tdnf clean all --releasever=3.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/azurelinux/distroless/minimal:3.0 /var/lib/rpmmanifest/container-manifest-2 /tmp/rpmmanifest +RUN tmpManifestPath="/tmp/rpmmanifest" \ + && rpm --query --all --queryformat "%{NAME}\t%{VERSION}-%{RELEASE}\t%{INSTALLTIME}\t%{BUILDTIME}\t%{VENDOR}\t%{EPOCH}\t%{SIZE}\t%{ARCH}\t%{EPOCHNUM}\t%{SOURCERPM}\n" --root /staging | grep -v gpg-pubkey >> $tmpManifestPath \ + && mkdir -p /staging/var/lib/rpmmanifest \ + # Remove duplicates that match on the first field (package name) + && tac $tmpManifestPath | gawk '!x[$1]++' | sort > /staging/var/lib/rpmmanifest/container-manifest-2 + +# Create a non-root user and group +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + --create-home \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/staging/home/app" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/staging/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/staging/etc/group" + +# Clean up staging +RUN rm -rf /staging/etc/tdnf \ + && rm -rf /staging/run/* \ + && rm -rf /staging/var/cache/tdnf \ + && rm -rf /staging/var/lib/rpm \ + && rm -rf /staging/usr/share/doc \ + && rm -rf /staging/usr/share/man \ + && find /staging/var/log -type f -size +0 -delete + + +# .NET runtime-deps image +FROM mcr.microsoft.com/azurelinux/distroless/minimal:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +COPY --from=installer /staging/ / + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=installer --chown=1654:1654 /staging/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + gawk \ + shadow-utils \ + && tdnf clean all + +# Install .NET's dependencies into a staging location +RUN mkdir /staging \ + && tdnf install -y --releasever=3.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + libstdc++ \ + openssl-libs \ + && tdnf clean all --releasever=3.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/azurelinux/distroless/minimal:3.0 /var/lib/rpmmanifest/container-manifest-2 /tmp/rpmmanifest +RUN tmpManifestPath="/tmp/rpmmanifest" \ + && rpm --query --all --queryformat "%{NAME}\t%{VERSION}-%{RELEASE}\t%{INSTALLTIME}\t%{BUILDTIME}\t%{VENDOR}\t%{EPOCH}\t%{SIZE}\t%{ARCH}\t%{EPOCHNUM}\t%{SOURCERPM}\n" --root /staging | grep -v gpg-pubkey >> $tmpManifestPath \ + && mkdir -p /staging/var/lib/rpmmanifest \ + # Remove duplicates that match on the first field (package name) + && tac $tmpManifestPath | gawk '!x[$1]++' | sort > /staging/var/lib/rpmmanifest/container-manifest-2 + +# Create a non-root user and group +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + --create-home \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/staging/home/app" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/staging/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/staging/etc/group" + +# Clean up staging +RUN rm -rf /staging/etc/tdnf \ + && rm -rf /staging/run/* \ + && rm -rf /staging/var/cache/tdnf \ + && rm -rf /staging/var/lib/rpm \ + && rm -rf /staging/usr/share/doc \ + && rm -rf /staging/usr/share/man \ + && find /staging/var/log -type f -size +0 -delete + + +# .NET runtime-deps image +FROM mcr.microsoft.com/azurelinux/distroless/minimal:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +COPY --from=installer /staging/ / + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=installer --chown=1654:1654 /staging/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/azurelinux3.0/amd64/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0/amd64/Dockerfile new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0/amd64/Dockerfile @@ -0,0 +1,36 @@ +FROM mcr.microsoft.com/azurelinux/base/core:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN tdnf install -y \ + ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + && tdnf clean all + +# Create a non-root user and group +RUN tdnf install -y \ + shadow-utils \ + && groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app \ + && tdnf autoremove -y \ + shadow-utils \ + && tdnf clean all diff --git a/src/runtime-deps/10.0/azurelinux3.0/arm64v8/Dockerfile b/src/runtime-deps/10.0/azurelinux3.0/arm64v8/Dockerfile new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/src/runtime-deps/10.0/azurelinux3.0/arm64v8/Dockerfile @@ -0,0 +1,36 @@ +FROM mcr.microsoft.com/azurelinux/base/core:3.0 + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN tdnf install -y \ + ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + && tdnf clean all + +# Create a non-root user and group +RUN tdnf install -y \ + shadow-utils \ + && groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app \ + && tdnf autoremove -y \ + shadow-utils \ + && tdnf clean all diff --git a/src/runtime-deps/10.0/bookworm-slim/amd64/Dockerfile b/src/runtime-deps/10.0/bookworm-slim/amd64/Dockerfile new file mode 100644 index 0000000000..d50ef47f78 --- /dev/null +++ b/src/runtime-deps/10.0/bookworm-slim/amd64/Dockerfile @@ -0,0 +1,32 @@ +FROM amd64/debian:bookworm-slim + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu72 \ + libssl3 \ + libstdc++6 \ + tzdata \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime-deps/10.0/bookworm-slim/arm32v7/Dockerfile b/src/runtime-deps/10.0/bookworm-slim/arm32v7/Dockerfile new file mode 100644 index 0000000000..841fae83d9 --- /dev/null +++ b/src/runtime-deps/10.0/bookworm-slim/arm32v7/Dockerfile @@ -0,0 +1,32 @@ +FROM arm32v7/debian:bookworm-slim + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu72 \ + libssl3 \ + libstdc++6 \ + tzdata \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime-deps/10.0/bookworm-slim/arm64v8/Dockerfile b/src/runtime-deps/10.0/bookworm-slim/arm64v8/Dockerfile new file mode 100644 index 0000000000..c8341c254b --- /dev/null +++ b/src/runtime-deps/10.0/bookworm-slim/arm64v8/Dockerfile @@ -0,0 +1,32 @@ +FROM arm64v8/debian:bookworm-slim + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu72 \ + libssl3 \ + libstdc++6 \ + tzdata \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile new file mode 100644 index 0000000000..be86b7ac90 --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile @@ -0,0 +1,56 @@ +FROM amd64/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_amd64.tar.gz \ + && chisel_sha384='f53b6e4e9bf43f234201353487684c7d6e04e4f9a2ee766debbfc92f824b717fbd5d585a9147fb5652e0724473ae2959' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu74_libs \ + libssl3t64_libs \ + libstdc++6_libs \ + tzdata-legacy_zoneinfo \ + tzdata_zoneinfo + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile new file mode 100644 index 0000000000..43261fbe3a --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -0,0 +1,56 @@ +FROM arm32v7/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm.tar.gz \ + && chisel_sha384='b05fbb0e5df420909375b62cf2d8922e44ccc8339f1ab0b4866953d834303fe143ef1e0d47506dcd0bd54ed6462a97af' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu74_libs \ + libssl3t64_libs \ + libstdc++6_libs \ + tzdata-legacy_zoneinfo \ + tzdata_zoneinfo + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..7303c02365 --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -0,0 +1,56 @@ +FROM arm64v8/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm64.tar.gz \ + && chisel_sha384='980f53722642429478eba402f720ced634c032445d993e2165e9fd29c6054cf3c15c32b6a570938bb86f8218d3f92d15' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu74_libs \ + libssl3t64_libs \ + libstdc++6_libs \ + tzdata-legacy_zoneinfo \ + tzdata_zoneinfo + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile new file mode 100644 index 0000000000..caf9617608 --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile @@ -0,0 +1,55 @@ +FROM amd64/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_amd64.tar.gz \ + && chisel_sha384='f53b6e4e9bf43f234201353487684c7d6e04e4f9a2ee766debbfc92f824b717fbd5d585a9147fb5652e0724473ae2959' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3t64_libs \ + libstdc++6_libs + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile new file mode 100644 index 0000000000..96db66668f --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile @@ -0,0 +1,55 @@ +FROM arm32v7/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm.tar.gz \ + && chisel_sha384='b05fbb0e5df420909375b62cf2d8922e44ccc8339f1ab0b4866953d834303fe143ef1e0d47506dcd0bd54ed6462a97af' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3t64_libs \ + libstdc++6_libs + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile new file mode 100644 index 0000000000..60854c39de --- /dev/null +++ b/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile @@ -0,0 +1,55 @@ +FROM arm64v8/buildpack-deps:noble-curl AS chisel + +RUN apt-get update && apt-get install -y file + +RUN curl -fSL --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.1.0/chisel_v1.1.0_linux_arm64.tar.gz \ + && chisel_sha384='980f53722642429478eba402f720ced634c032445d993e2165e9fd29c6054cf3c15c32b6a570938bb86f8218d3f92d15' \ + && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ + && tar -xzf chisel.tar.gz -C /usr/bin/ chisel \ + && curl -fSL --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.1.2/chisel-wrapper \ + && chmod 755 /usr/bin/chisel-wrapper + +RUN groupadd \ + --gid=1654 \ + app \ + && useradd -l \ + --uid=1654 \ + --gid=1654 \ + --shell /bin/false \ + app \ + && install -d -m 0755 -o 1654 -g 1654 "/rootfs/home/app" \ + && mkdir -p "/rootfs/etc" \ + && rootOrAppRegex='^\(root\|app\):' \ + && cat /etc/passwd | grep $rootOrAppRegex > "/rootfs/etc/passwd" \ + && cat /etc/group | grep $rootOrAppRegex > "/rootfs/etc/group" + +RUN mkdir -p /rootfs/var/lib/dpkg/ \ + && chisel-wrapper --generate-dpkg-status /rootfs/var/lib/dpkg/status -- \ + --release ubuntu-24.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3t64_libs \ + libstdc++6_libs + + +FROM scratch + +COPY --from=chisel /rootfs / + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true \ + # Set the invariant mode since ICU package isn't included (see https://github.com/dotnet/announcements/issues/20) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true + +# Workaround for https://github.com/moby/moby/issues/38710 +COPY --from=chisel --chown=$APP_UID:$APP_UID /rootfs/home/app /home/app + +USER $APP_UID diff --git a/src/runtime-deps/10.0/noble/amd64/Dockerfile b/src/runtime-deps/10.0/noble/amd64/Dockerfile new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/src/runtime-deps/10.0/noble/amd64/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:noble + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu74 \ + libssl3t64 \ + libstdc++6 \ + tzdata \ + tzdata-legacy \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime-deps/10.0/noble/arm32v7/Dockerfile b/src/runtime-deps/10.0/noble/arm32v7/Dockerfile new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/src/runtime-deps/10.0/noble/arm32v7/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:noble + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu74 \ + libssl3t64 \ + libstdc++6 \ + tzdata \ + tzdata-legacy \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime-deps/10.0/noble/arm64v8/Dockerfile b/src/runtime-deps/10.0/noble/arm64v8/Dockerfile new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/src/runtime-deps/10.0/noble/arm64v8/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:noble + +ENV \ + # UID of the non-root user 'app' + APP_UID=1654 \ + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 \ + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + \ + # .NET dependencies + libc6 \ + libgcc-s1 \ + libicu74 \ + libssl3t64 \ + libstdc++6 \ + tzdata \ + tzdata-legacy \ + && rm -rf /var/lib/apt/lists/* + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --create-home \ + app diff --git a/src/runtime/10.0/alpine3.21/amd64/Dockerfile b/src/runtime/10.0/alpine3.21/amd64/Dockerfile new file mode 100644 index 0000000000..36297bf0e8 --- /dev/null +++ b/src/runtime/10.0/alpine3.21/amd64/Dockerfile @@ -0,0 +1,17 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-amd64 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-x64.tar.gz \ + && dotnet_sha512='71f454c600a43710b6b1ac4d9c787a8540255b8b54209ba6725d3456149117c63b29125aefc4bc5aa304cad1acf6478707039a5a2bc944392e29eda79624a7f5' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/alpine3.21/arm32v7/Dockerfile b/src/runtime/10.0/alpine3.21/arm32v7/Dockerfile new file mode 100644 index 0000000000..9a0a1796f1 --- /dev/null +++ b/src/runtime/10.0/alpine3.21/arm32v7/Dockerfile @@ -0,0 +1,17 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm32v7 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm.tar.gz \ + && dotnet_sha512='b2866cabf53f603a5c06a70cb388b3bfa735c077140e7742a5545684d980575711e9a10e17f949e3db52dd3ad9bcff78796f7fe4e0b8a53623213657e4418a7b' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/alpine3.21/arm64v8/Dockerfile b/src/runtime/10.0/alpine3.21/arm64v8/Dockerfile new file mode 100644 index 0000000000..638a5e5c6f --- /dev/null +++ b/src/runtime/10.0/alpine3.21/arm64v8/Dockerfile @@ -0,0 +1,17 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm64v8 + +# .NET globalization APIs will use invariant mode by default because DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true is set +# by the base runtime-deps image. See https://aka.ms/dotnet-globalization-alpine-containers for more information. + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm64.tar.gz \ + && dotnet_sha512='5ca37453bbaf4928a8e149fa55a78bae8772f8490cf53c71aaa42a8982fbd4392983f281ef656370fd931c1fbce741d60c6feb605ddb164caa8a1640fb687b5f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz \ + && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/runtime/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile new file mode 100644 index 0000000000..058092e146 --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..2b465b9ec6 --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/runtime/10.0/azurelinux3.0-distroless/amd64/Dockerfile new file mode 100644 index 0000000000..ffd0ce36f2 --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/runtime/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile new file mode 100644 index 0000000000..444ab84fdf --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-distroless-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/azurelinux3.0/amd64/Dockerfile b/src/runtime/10.0/azurelinux3.0/amd64/Dockerfile new file mode 100644 index 0000000000..6aba5d8e3b --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0/amd64/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-amd64 AS installer + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/azurelinux3.0/arm64v8/Dockerfile b/src/runtime/10.0/azurelinux3.0/arm64v8/Dockerfile new file mode 100644 index 0000000000..66163dc29c --- /dev/null +++ b/src/runtime/10.0/azurelinux3.0/arm64v8/Dockerfile @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-arm64v8 AS installer + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/bookworm-slim/amd64/Dockerfile b/src/runtime/10.0/bookworm-slim/amd64/Dockerfile new file mode 100644 index 0000000000..41f1f8eba6 --- /dev/null +++ b/src/runtime/10.0/bookworm-slim/amd64/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/bookworm-slim/arm32v7/Dockerfile b/src/runtime/10.0/bookworm-slim/arm32v7/Dockerfile new file mode 100644 index 0000000000..060fa9e8ad --- /dev/null +++ b/src/runtime/10.0/bookworm-slim/arm32v7/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ + && dotnet_sha512='eabc936a4cff0480a73fe1d7171cdbbce9e7e01f7ddcb749f2eaf52f7641d2b80fd0c6206a49663395b79d08721765bc8bfadddd3bf7fbceab1c78b0138b2444' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/bookworm-slim/arm64v8/Dockerfile b/src/runtime/10.0/bookworm-slim/arm64v8/Dockerfile new file mode 100644 index 0000000000..cc9cecda8d --- /dev/null +++ b/src/runtime/10.0/bookworm-slim/arm64v8/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/nanoserver-1809/amd64/Dockerfile b/src/runtime/10.0/nanoserver-1809/amd64/Dockerfile new file mode 100644 index 0000000000..86efb89f1f --- /dev/null +++ b/src/runtime/10.0/nanoserver-1809/amd64/Dockerfile @@ -0,0 +1,40 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '10.0.0-alpha.1.25072.13'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip + + +# Runtime image +FROM mcr.microsoft.com/windows/nanoserver:1809-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/src/runtime/10.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/runtime/10.0/nanoserver-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..2326b1ef1a --- /dev/null +++ b/src/runtime/10.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -0,0 +1,40 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '10.0.0-alpha.1.25072.13'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip + + +# Runtime image +FROM mcr.microsoft.com/windows/nanoserver:ltsc2022-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/src/runtime/10.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/runtime/10.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..ac80c799a0 --- /dev/null +++ b/src/runtime/10.0/nanoserver-ltsc2025/amd64/Dockerfile @@ -0,0 +1,40 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '10.0.0-alpha.1.25072.13'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip + + +# Runtime image +FROM mcr.microsoft.com/windows/nanoserver:ltsc2025-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/src/runtime/10.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime/10.0/noble-chiseled-extra/amd64/Dockerfile new file mode 100644 index 0000000000..0ca809714d --- /dev/null +++ b/src/runtime/10.0/noble-chiseled-extra/amd64/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/runtime/10.0/noble-chiseled-extra/arm32v7/Dockerfile new file mode 100644 index 0000000000..9335150e86 --- /dev/null +++ b/src/runtime/10.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ + && dotnet_sha512='eabc936a4cff0480a73fe1d7171cdbbce9e7e01f7ddcb749f2eaf52f7641d2b80fd0c6206a49663395b79d08721765bc8bfadddd3bf7fbceab1c78b0138b2444' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime/10.0/noble-chiseled-extra/arm64v8/Dockerfile new file mode 100644 index 0000000000..c6467b1656 --- /dev/null +++ b/src/runtime/10.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble-chiseled/amd64/Dockerfile b/src/runtime/10.0/noble-chiseled/amd64/Dockerfile new file mode 100644 index 0000000000..660bf530ee --- /dev/null +++ b/src/runtime/10.0/noble-chiseled/amd64/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble-chiseled/arm32v7/Dockerfile b/src/runtime/10.0/noble-chiseled/arm32v7/Dockerfile new file mode 100644 index 0000000000..9dff56dff0 --- /dev/null +++ b/src/runtime/10.0/noble-chiseled/arm32v7/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ + && dotnet_sha512='eabc936a4cff0480a73fe1d7171cdbbce9e7e01f7ddcb749f2eaf52f7641d2b80fd0c6206a49663395b79d08721765bc8bfadddd3bf7fbceab1c78b0138b2444' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime/10.0/noble-chiseled/arm64v8/Dockerfile new file mode 100644 index 0000000000..81cb33776e --- /dev/null +++ b/src/runtime/10.0/noble-chiseled/arm64v8/Dockerfile @@ -0,0 +1,29 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ + && rm dotnet.tar.gz + +RUN mkdir /dotnet-symlink \ + && ln -s /usr/share/dotnet/dotnet /dotnet-symlink/dotnet + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-chiseled-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] +COPY --from=installer ["/dotnet-symlink", "/usr/bin"] + +ENTRYPOINT ["/usr/bin/dotnet"] +CMD ["--info"] diff --git a/src/runtime/10.0/noble/amd64/Dockerfile b/src/runtime/10.0/noble/amd64/Dockerfile new file mode 100644 index 0000000000..f1891e0ff6 --- /dev/null +++ b/src/runtime/10.0/noble/amd64/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ + && dotnet_sha512='32131750c93d3ccfe62f12ef84804400b5902c6e8c1372dec725c2b73beb3f8d82a1d195d205ffb014e02f0f053da828ca239cfb6933a09b0d11cc4b346aa6b2' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/noble/arm32v7/Dockerfile b/src/runtime/10.0/noble/arm32v7/Dockerfile new file mode 100644 index 0000000000..e0bc8677ca --- /dev/null +++ b/src/runtime/10.0/noble/arm32v7/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ + && dotnet_sha512='eabc936a4cff0480a73fe1d7171cdbbce9e7e01f7ddcb749f2eaf52f7641d2b80fd0c6206a49663395b79d08721765bc8bfadddd3bf7fbceab1c78b0138b2444' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/noble/arm64v8/Dockerfile b/src/runtime/10.0/noble/arm64v8/Dockerfile new file mode 100644 index 0000000000..5dce740af3 --- /dev/null +++ b/src/runtime/10.0/noble/arm64v8/Dockerfile @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +# Retrieve .NET Runtime +RUN dotnet_version=10.0.0-alpha.1.25072.13 \ + && curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ + && dotnet_sha512='6680af984addf315d7619097e2396b3dd62bd155373d8849ac1fc14bf7174b464bc7cbdedbc4772698fc32718f4179a32a0923b77461f3dcf200f1047545a65f' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# .NET runtime image +FROM $REPO:10.0.0-alpha.1-noble-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/src/runtime/10.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/runtime/10.0/windowsservercore-ltsc2019/amd64/Dockerfile new file mode 100644 index 0000000000..2eee84a36c --- /dev/null +++ b/src/runtime/10.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -0,0 +1,29 @@ +# escape=` + +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir $Env:ProgramFiles\dotnet; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet; ` + Remove-Item -Force dotnet.zip + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" diff --git a/src/runtime/10.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/runtime/10.0/windowsservercore-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..6f162fcd50 --- /dev/null +++ b/src/runtime/10.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -0,0 +1,29 @@ +# escape=` + +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir $Env:ProgramFiles\dotnet; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet; ` + Remove-Item -Force dotnet.zip + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" diff --git a/src/runtime/10.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/runtime/10.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..298824d669 --- /dev/null +++ b/src/runtime/10.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,29 @@ +# escape=` + +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 + +ENV ` + # Configure web servers to bind to port 8080 when present + ASPNETCORE_HTTP_PORTS=8080 ` + # Enable detection of running in a container + DOTNET_RUNNING_IN_CONTAINER=true ` + # .NET Runtime version + DOTNET_VERSION=10.0.0-alpha.1.25072.13 + +# Install .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` + $dotnet_sha512 = '68934fbea6d91d3c85bac5a52b92c8f16a080d89c30075b3c9480f40e87c2ad14ab8976e49cf8376fdb3d38743b4a2ab18ce77a63283cbd499792ccbecab51a1'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + ` + mkdir $Env:ProgramFiles\dotnet; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet; ` + Remove-Item -Force dotnet.zip + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" diff --git a/src/sdk/10.0/alpine3.21/amd64/Dockerfile b/src/sdk/10.0/alpine3.21/amd64/Dockerfile new file mode 100644 index 0000000000..e29f6c449d --- /dev/null +++ b/src/sdk/10.0/alpine3.21/amd64/Dockerfile @@ -0,0 +1,54 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-alpine3.21-amd64 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Disable the invariant mode (set in base image) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.21 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + libatomic \ + tzdata + +# Install .NET SDK +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-x64.tar.gz \ + && dotnet_sha512='d21b1151256fa27a3ff0d79f11c32b719c10b3a64656bcd2708f215c7d67817b18da20677b4f43987b1aceaf04fb3c9b73102e1be90806e57fdc7425e6109c40' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && wget -O PowerShell.Linux.Alpine.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.Alpine.$powershell_version.nupkg \ + && powershell_sha512='89dcede870db724ec96e0ddc1386b687c25022fdcecf76dced2f6aec34586a91600df59c2f99c0bd056fb91ea6dfae8e6c372639f37b3f7e5b1d49c41fe77840' \ + && echo "$powershell_sha512 PowerShell.Linux.Alpine.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.Alpine \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.Alpine.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm \ + # Add ncurses-terminfo-base to resolve psreadline dependency + && apk add --no-cache ncurses-terminfo-base diff --git a/src/sdk/10.0/alpine3.21/arm32v7/Dockerfile b/src/sdk/10.0/alpine3.21/arm32v7/Dockerfile new file mode 100644 index 0000000000..deb94b488b --- /dev/null +++ b/src/sdk/10.0/alpine3.21/arm32v7/Dockerfile @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm32v7 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Disable the invariant mode (set in base image) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + libatomic \ + tzdata + +# Install .NET SDK +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm.tar.gz \ + && dotnet_sha512='c2340aa18c57f50d2eea7844c1725bedef94f5f050a1f0e90d051be83deccbbfeabab1c3fb3632b1d57de8e7b02ce1ee2956758c45c76f159c7aa558abf4df24' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help diff --git a/src/sdk/10.0/alpine3.21/arm64v8/Dockerfile b/src/sdk/10.0/alpine3.21/arm64v8/Dockerfile new file mode 100644 index 0000000000..ada0ad99f2 --- /dev/null +++ b/src/sdk/10.0/alpine3.21/arm64v8/Dockerfile @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-alpine3.21-arm64v8 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Disable the invariant mode (set in base image) + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + libatomic \ + tzdata + +# Install .NET SDK +RUN wget -O dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm64.tar.gz \ + && dotnet_sha512='97e52c5cbf33e3e97bc80efe81fe2fd2e0c8be6673d674287c6deab48e89595d8dcff19881df4c5a3afd1c55eeb65f2ae0fbd2c728fde86bd14950f0e4717fff' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help diff --git a/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile b/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile new file mode 100644 index 0000000000..5190b52387 --- /dev/null +++ b/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile @@ -0,0 +1,47 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-amd64 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN tdnf install -y \ + git \ + libgcc-atomic \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ + && dotnet_sha512='9758c3553aeb0fca705b38200bfe13a8fc8cd8c34571116dbb9e9dacf50cd336d916c84e03c0b46c6974708bec608001eb0ca92354ff91e335ebb35a5dca5235' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ + && powershell_sha512='997a634bf50a3e742d00badcc2ce0a4fd1e65e430c371fc276ead7634193f029e5670118c099bd2b3e6d2e06c6eb3cb00b4352c734ab3fd360dd7b79428ecb46' \ + && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.x64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.x64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile b/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile new file mode 100644 index 0000000000..17153ed793 --- /dev/null +++ b/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile @@ -0,0 +1,47 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-azurelinux3.0-arm64v8 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0-arm64 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN tdnf install -y \ + git \ + libgcc-atomic \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ + && dotnet_sha512='aae3fc52d14240edc1e72d5d7ba6e049303bab273696d048c021b26b5f7aaf0ecb30295ea1078bbe15082e7a9864f0b7d1dfe51111e2e0ea3ac152dba8106cce' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ + && powershell_sha512='42501dd83f75a5e6d73d41d52c010a243e3397034b6cb82385310783fe3173ae5d3ade8e80247055b8f8f4d986be8dd86c0176081fbe45faa02c3f78f6fdc78f' \ + && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.arm64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.arm64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/bookworm-slim/amd64/Dockerfile b/src/sdk/10.0/bookworm-slim/amd64/Dockerfile new file mode 100644 index 0000000000..fdf981b74b --- /dev/null +++ b/src/sdk/10.0/bookworm-slim/amd64/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-bookworm-slim-amd64 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-12 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ + && dotnet_sha512='9758c3553aeb0fca705b38200bfe13a8fc8cd8c34571116dbb9e9dacf50cd336d916c84e03c0b46c6974708bec608001eb0ca92354ff91e335ebb35a5dca5235' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ + && powershell_sha512='997a634bf50a3e742d00badcc2ce0a4fd1e65e430c371fc276ead7634193f029e5670118c099bd2b3e6d2e06c6eb3cb00b4352c734ab3fd360dd7b79428ecb46' \ + && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.x64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.x64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/bookworm-slim/arm32v7/Dockerfile b/src/sdk/10.0/bookworm-slim/arm32v7/Dockerfile new file mode 100644 index 0000000000..165ece7f33 --- /dev/null +++ b/src/sdk/10.0/bookworm-slim/arm32v7/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm32v7 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-12-arm32 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm.tar.gz \ + && dotnet_sha512='5f70ea66b9e0cfb84a87d6639765d885713d5e411faa193c85f87052f1cc66ae29a970d911de2826c0e992151f7724563157a7e1e27e7fb3d949153a19f53737' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ + && powershell_sha512='3e87ac49de17a2eb35b0fa336b04fe6d7ef1ee2557f01d553d8eb54e45de41d8b48ceb1b49da9e046a31ab6b2f453a015a3554074f483c8e80e1a8834197ac34' \ + && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.arm32 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.arm32.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/bookworm-slim/arm64v8/Dockerfile b/src/sdk/10.0/bookworm-slim/arm64v8/Dockerfile new file mode 100644 index 0000000000..69d88ec336 --- /dev/null +++ b/src/sdk/10.0/bookworm-slim/arm64v8/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-bookworm-slim-arm64v8 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-12-arm64 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ + && dotnet_sha512='aae3fc52d14240edc1e72d5d7ba6e049303bab273696d048c021b26b5f7aaf0ecb30295ea1078bbe15082e7a9864f0b7d1dfe51111e2e0ea3ac152dba8106cce' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ + && powershell_sha512='42501dd83f75a5e6d73d41d52c010a243e3397034b6cb82385310783fe3173ae5d3ade8e80247055b8f8f4d986be8dd86c0176081fbe45faa02c3f78f6fdc78f' \ + && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.arm64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.arm64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/nanoserver-1809/amd64/Dockerfile b/src/sdk/10.0/nanoserver-1809/amd64/Dockerfile new file mode 100644 index 0000000000..0caa36e02b --- /dev/null +++ b/src/sdk/10.0/nanoserver-1809/amd64/Dockerfile @@ -0,0 +1,87 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir MinGit; ` + tar -oxzf mingit.zip -C MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '10.0.100-alpha.1.25073.10'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & \dotnet\dotnet tool install --add-source . --tool-path \powershell --version $powershell_version PowerShell.Windows.x64; ` + & \dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path \powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force; ` + ` + # Delete everything in the dotnet folder that's not needed in the SDK layer but will instead be derived from base layers + Get-ChildItem -Exclude 'LICENSE.txt','ThirdPartyNotices.txt','packs','sdk','sdk-manifests','templates','shared' -Path dotnet ` + | Remove-Item -Force -Recurse; ` + Get-ChildItem -Exclude 'Microsoft.WindowsDesktop.App' -Path dotnet\shared ` + | Remove-Item -Force -Recurse" + +# SDK image +FROM $REPO:10.0.0-alpha.1-nanoserver-1809 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-1809 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] +COPY --from=installer ["/powershell", "/Program Files/powershell"] +COPY --from=installer ["/MinGit", "/Program Files/MinGit"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..87ee75361b --- /dev/null +++ b/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -0,0 +1,87 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir MinGit; ` + tar -oxzf mingit.zip -C MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '10.0.100-alpha.1.25073.10'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & \dotnet\dotnet tool install --add-source . --tool-path \powershell --version $powershell_version PowerShell.Windows.x64; ` + & \dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path \powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force; ` + ` + # Delete everything in the dotnet folder that's not needed in the SDK layer but will instead be derived from base layers + Get-ChildItem -Exclude 'LICENSE.txt','ThirdPartyNotices.txt','packs','sdk','sdk-manifests','templates','shared' -Path dotnet ` + | Remove-Item -Force -Recurse; ` + Get-ChildItem -Exclude 'Microsoft.WindowsDesktop.App' -Path dotnet\shared ` + | Remove-Item -Force -Recurse" + +# SDK image +FROM $REPO:10.0.0-alpha.1-nanoserver-ltsc2022 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2022 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] +COPY --from=installer ["/powershell", "/Program Files/powershell"] +COPY --from=installer ["/MinGit", "/Program Files/MinGit"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..963efcce6d --- /dev/null +++ b/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile @@ -0,0 +1,87 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir MinGit; ` + tar -oxzf mingit.zip -C MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '10.0.100-alpha.1.25073.10'; ` + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir dotnet; ` + tar -oxzf dotnet.zip -C dotnet; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & \dotnet\dotnet tool install --add-source . --tool-path \powershell --version $powershell_version PowerShell.Windows.x64; ` + & \dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path \powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force; ` + ` + # Delete everything in the dotnet folder that's not needed in the SDK layer but will instead be derived from base layers + Get-ChildItem -Exclude 'LICENSE.txt','ThirdPartyNotices.txt','packs','sdk','sdk-manifests','templates','shared' -Path dotnet ` + | Remove-Item -Force -Recurse; ` + Get-ChildItem -Exclude 'Microsoft.WindowsDesktop.App' -Path dotnet\shared ` + | Remove-Item -Force -Recurse" + +# SDK image +FROM $REPO:10.0.0-alpha.1-nanoserver-ltsc2025 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2025 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# In order to set system PATH, ContainerAdministrator must be used +USER ContainerAdministrator +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" +USER ContainerUser + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] +COPY --from=installer ["/powershell", "/Program Files/powershell"] +COPY --from=installer ["/MinGit", "/Program Files/MinGit"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/src/sdk/10.0/noble/amd64/Dockerfile b/src/sdk/10.0/noble/amd64/Dockerfile new file mode 100644 index 0000000000..ac604a469e --- /dev/null +++ b/src/sdk/10.0/noble/amd64/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-noble-amd64 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ + && dotnet_sha512='9758c3553aeb0fca705b38200bfe13a8fc8cd8c34571116dbb9e9dacf50cd336d916c84e03c0b46c6974708bec608001eb0ca92354ff91e335ebb35a5dca5235' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ + && powershell_sha512='997a634bf50a3e742d00badcc2ce0a4fd1e65e430c371fc276ead7634193f029e5670118c099bd2b3e6d2e06c6eb3cb00b4352c734ab3fd360dd7b79428ecb46' \ + && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.x64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.x64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/noble/arm32v7/Dockerfile b/src/sdk/10.0/noble/arm32v7/Dockerfile new file mode 100644 index 0000000000..579508ea0e --- /dev/null +++ b/src/sdk/10.0/noble/arm32v7/Dockerfile @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/10.0.100-alpha.1.25073.10/dotnet-sdk-10.0.100-alpha.1.25073.10-linux-arm.tar.gz \ + && dotnet_sha512='5f70ea66b9e0cfb84a87d6639765d885713d5e411faa193c85f87052f1cc66ae29a970d911de2826c0e992151f7724563157a7e1e27e7fb3d949153a19f53737' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz + + +# .NET SDK image +FROM $REPO:10.0.0-alpha.1-noble-arm32v7 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm32 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ + && powershell_sha512='3e87ac49de17a2eb35b0fa336b04fe6d7ef1ee2557f01d553d8eb54e45de41d8b48ceb1b49da9e046a31ab6b2f453a015a3554074f483c8e80e1a8834197ac34' \ + && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.arm32 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.arm32.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/noble/arm64v8/Dockerfile b/src/sdk/10.0/noble/arm64v8/Dockerfile new file mode 100644 index 0000000000..e395e5fd78 --- /dev/null +++ b/src/sdk/10.0/noble/arm64v8/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-noble-arm64v8 + +ENV \ + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false \ + # Do not show first run text + DOTNET_NOLOGO=true \ + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 \ + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true \ + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip \ + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm64 \ + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + git \ + libatomic1 \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Install .NET SDK +RUN curl -fSL --output dotnet.tar.gz https://ci.dot.net/public/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ + && dotnet_sha512='aae3fc52d14240edc1e72d5d7ba6e049303bab273696d048c021b26b5f7aaf0ecb30295ea1078bbe15082e7a9864f0b7d1dfe51111e2e0ea3ac152dba8106cce' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /usr/share/dotnet \ + && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \ + && rm dotnet.tar.gz \ + # Trigger first run experience by running arbitrary cmd + && dotnet help + +# Install PowerShell global tool +RUN powershell_version=7.5.0 \ + && curl -fSL --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ + && powershell_sha512='42501dd83f75a5e6d73d41d52c010a243e3397034b6cb82385310783fe3173ae5d3ade8e80247055b8f8f4d986be8dd86c0176081fbe45faa02c3f78f6fdc78f' \ + && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ + && mkdir -p /usr/share/powershell \ + && dotnet tool install --add-source / --tool-path /usr/share/powershell --version $powershell_version PowerShell.Linux.arm64 \ + && dotnet nuget locals all --clear \ + && rm PowerShell.Linux.arm64.$powershell_version.nupkg \ + && ln -s /usr/share/powershell/pwsh /usr/bin/pwsh \ + && chmod 755 /usr/share/powershell/pwsh \ + # To reduce image size, remove the copy nupkg that nuget keeps. + && find /usr/share/powershell -print | grep -i '.*[.]nupkg$' | xargs rm diff --git a/src/sdk/10.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/sdk/10.0/windowsservercore-ltsc2019/amd64/Dockerfile new file mode 100644 index 0000000000..e250c86fd2 --- /dev/null +++ b/src/sdk/10.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -0,0 +1,67 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2019 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2019 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir $Env:ProgramFiles\MinGit; ` + tar -oxzf mingit.zip -C $Env:ProgramFiles\MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet ./LICENSE.txt ./ThirdPartyNotices.txt ./packs ./sdk ./sdk-manifests ./templates ./shared/Microsoft.WindowsDesktop.App; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & $Env:ProgramFiles\dotnet\dotnet tool install --add-source . --tool-path $Env:ProgramFiles\powershell --version $powershell_version PowerShell.Windows.x64; ` + & $Env:ProgramFiles\dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path $Env:ProgramFiles\powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force;" + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile new file mode 100644 index 0000000000..3219ed545d --- /dev/null +++ b/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -0,0 +1,67 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2022 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2022 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir $Env:ProgramFiles\MinGit; ` + tar -oxzf mingit.zip -C $Env:ProgramFiles\MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet ./LICENSE.txt ./ThirdPartyNotices.txt ./packs ./sdk ./sdk-manifests ./templates ./shared/Microsoft.WindowsDesktop.App; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & $Env:ProgramFiles\dotnet\dotnet tool install --add-source . --tool-path $Env:ProgramFiles\powershell --version $powershell_version PowerShell.Windows.x64; ` + & $Env:ProgramFiles\dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path $Env:ProgramFiles\powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force;" + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..dc8f7cbbc9 --- /dev/null +++ b/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,67 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:10.0.0-alpha.1-windowsservercore-ltsc2025 + +ENV ` + # Do not generate certificate + DOTNET_GENERATE_ASPNET_CERTIFICATE=false ` + # Do not show first run text + DOTNET_NOLOGO=true ` + # SDK version + DOTNET_SDK_VERSION=10.0.100-alpha.1.25073.10 ` + # Enable correct mode for dotnet watch (only mode supported in a container) + DOTNET_USE_POLLING_FILE_WATCHER=true ` + # Skip extraction of XML docs - generally not useful within an image/container - helps performance + NUGET_XMLDOC_MODE=skip ` + # PowerShell telemetry for docker image usage + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2025 ` + # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 + DOTNET_ROLL_FORWARD=Major + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip; ` + $mingit_sha256 = '5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42'; ` + if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + mkdir $Env:ProgramFiles\MinGit; ` + tar -oxzf mingit.zip -C $Env:ProgramFiles\MinGit; ` + Remove-Item -Force mingit.zip" + +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + Invoke-WebRequest -OutFile dotnet.zip https://ci.dot.net/public/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` + $dotnet_sha512 = '92d07af801c4a24de3ce1e42072e013096e7cdd08dc66a4e084f4acf13b6573d315a848d5cfefc30f208554f81078597d62443c0889a938f2909e87c74a4bb35'; ` + if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + tar -oxzf dotnet.zip -C $Env:ProgramFiles\dotnet ./LICENSE.txt ./ThirdPartyNotices.txt ./packs ./sdk ./sdk-manifests ./templates ./shared/Microsoft.WindowsDesktop.App; ` + Remove-Item -Force dotnet.zip; ` + ` + # Install PowerShell global tool + $powershell_version = '7.5.0'; ` + Invoke-WebRequest -OutFile PowerShell.Windows.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Windows.x64.$powershell_version.nupkg; ` + $powershell_sha512 = '44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278'; ` + if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` + Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` + exit 1; ` + }; ` + & $Env:ProgramFiles\dotnet\dotnet tool install --add-source . --tool-path $Env:ProgramFiles\powershell --version $powershell_version PowerShell.Windows.x64; ` + & $Env:ProgramFiles\dotnet\dotnet nuget locals all --clear; ` + Remove-Item -Force PowerShell.Windows.x64.$powershell_version.nupkg; ` + Remove-Item -Path $Env:ProgramFiles\powershell\.store\powershell.windows.x64\$powershell_version\powershell.windows.x64\$powershell_version\powershell.windows.x64.$powershell_version.nupkg -Force;" + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs index ddd48138e4..7a109139b1 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs @@ -26,14 +26,28 @@ public AspnetImageTests(ITestOutputHelper outputHelper) [MemberData(nameof(GetImageData))] public async Task VerifyFxDependentAppScenario(ProductImageData imageData) { + if (imageData.ImageVariant.HasFlag(DotNetImageVariant.Composite)) + { + OutputHelper.WriteLine("Skip test due to https://github.com/dotnet/dotnet-docker/issues/4834"); + return; + } + using WebScenario scenario = new WebScenario.FxDependent(imageData, DockerHelper, OutputHelper); await scenario.ExecuteAsync(); } [DotNetTheory] [MemberData(nameof(GetImageData))] - public async Task VerifyGlobalizationScenario(ProductImageData imageData) => + public async Task VerifyGlobalizationScenario(ProductImageData imageData) + { + if (imageData.ImageVariant.HasFlag(DotNetImageVariant.Composite)) + { + OutputHelper.WriteLine("Skip test due to https://github.com/dotnet/dotnet-docker/issues/4834"); + return; + } + await VerifyGlobalizationScenarioBase(imageData); + } [WindowsImageTheory] [MemberData(nameof(GetImageData))] @@ -44,16 +58,22 @@ public async Task VerifyNLSScenario(ProductImageData imageData) => [MemberData(nameof(GetImageData))] public void VerifyEnvironmentVariables(ProductImageData imageData) { - List variables = new(); + List variables = []; + + EnvironmentVariableInfo runtimeVersionInfo = + RuntimeImageTests.GetRuntimeVersionVariableInfo(ImageRepo, imageData, DockerHelper); // Skip runtime version check due to https://github.com/dotnet/dotnet-docker/issues/4834. // Re-enable when fixed. - if (imageData.ImageVariant != DotNetImageVariant.Composite) + if (imageData.ImageVariant.HasFlag(DotNetImageVariant.Composite)) { - variables.Add(RuntimeImageTests.GetRuntimeVersionVariableInfo(ImageRepo, imageData, DockerHelper)); + runtimeVersionInfo = runtimeVersionInfo with { AllowAnyValue = true}; } - EnvironmentVariableInfo aspnetVersionVariableInfo = GetAspnetVersionVariableInfo(ImageRepo, imageData, DockerHelper); + variables.Add(runtimeVersionInfo); + + EnvironmentVariableInfo aspnetVersionVariableInfo = + GetAspnetVersionVariableInfo(ImageRepo, imageData, DockerHelper); if (aspnetVersionVariableInfo != null) { variables.Add(aspnetVersionVariableInfo); diff --git a/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs b/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs index 912d563600..3f3cb8ad8b 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs @@ -6,14 +6,15 @@ using FluentAssertions; using FluentAssertions.Execution; +#nullable enable namespace Microsoft.DotNet.Docker.Tests { - public class EnvironmentVariableInfo + public record EnvironmentVariableInfo { - public bool AllowAnyValue { get; private set; } - public string ExpectedValue { get; private set; } - public string Name { get; private set; } - public bool IsProductVersion { get; set; } + public bool AllowAnyValue { get; init; } = false; + public string? ExpectedValue { get; init; } = null; + public string Name { get; init; } + public bool IsProductVersion { get; init; } = false; public EnvironmentVariableInfo(string name, string expectedValue) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs index 9984b75248..c4692a8f17 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs @@ -14,6 +14,7 @@ public readonly record struct ImageVersion 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 static readonly ImageVersion V10_0_Preview = new(new Version(10, 0), isPreview: true); public ImageVersion(Version version, bool isPreview) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs b/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs index 7ed96e3488..104ebdf13b 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs @@ -20,6 +20,11 @@ public record ProductImageData : ImageData public bool GlobalizationInvariantMode => !SupportsGlobalization; + // PowerShell does not support Arm-based Alpine, skip testing + // https://github.com/PowerShell/PowerShell/issues/14667 + // https://github.com/PowerShell/PowerShell/issues/12937 + public bool SupportsPowerShell => !(OS.Contains("alpine") && IsArm); + public string SdkOS { get => HasCustomSdk ? _sdkOS : OS; diff --git a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs index e6aff89a58..0d5417a0bb 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs @@ -32,18 +32,6 @@ public SdkImageTests(ITestOutputHelper outputHelper) protected override DotNetImageRepo ImageRepo => DotNetImageRepo.SDK; - private static bool IsPowerShellSupported(ProductImageData imageData, out string reason) - { - if (imageData.OS.Contains("alpine") && imageData.IsArm) - { - reason = "PowerShell does not support Arm-based Alpine, skip testing (https://github.com/PowerShell/PowerShell/issues/14667, https://github.com/PowerShell/PowerShell/issues/12937)"; - return false; - } - - reason = ""; - return true; - } - public static IEnumerable GetImageData() { return TestData.GetImageData(DotNetImageRepo.SDK) @@ -101,7 +89,6 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) new EnvironmentVariableInfo("DOTNET_GENERATE_ASPNET_CERTIFICATE", "false"), new EnvironmentVariableInfo("DOTNET_USE_POLLING_FILE_WATCHER", "true"), new EnvironmentVariableInfo("NUGET_XMLDOC_MODE", "skip"), - new EnvironmentVariableInfo("POWERSHELL_DISTRIBUTION_CHANNEL", allowAnyValue: true), new EnvironmentVariableInfo("DOTNET_SDK_VERSION", version) { IsProductVersion = true @@ -112,6 +99,13 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) ..GetCommonEnvironmentVariables(), ]; + if (imageData.SupportsPowerShell + || imageData.Version == ImageVersion.V8_0 + || imageData.Version == ImageVersion.V9_0) + { + variables.Add(new EnvironmentVariableInfo("POWERSHELL_DISTRIBUTION_CHANNEL", allowAnyValue: true)); + } + if (imageData.SdkOS.StartsWith(OS.Alpine)) { variables.Add(new EnvironmentVariableInfo("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "false")); @@ -355,15 +349,18 @@ private string GetSdkUrl(ProductImageData imageData) private void PowerShellScenario_Execute(ProductImageData imageData, string optionalArgs) { - if (!IsPowerShellSupported(imageData, out string powershellReason)) + + string image = imageData.GetImage(DotNetImageRepo.SDK, DockerHelper); + + if (!imageData.SupportsPowerShell) { - OutputHelper.WriteLine(powershellReason); + OutputHelper.WriteLine($"PowerShell is not supproted on {image}"); return; } // A basic test which executes an arbitrary command to validate PS is functional string output = DockerHelper.Run( - image: imageData.GetImage(DotNetImageRepo.SDK, DockerHelper), + image: image, name: imageData.GetIdentifier($"pwsh"), optionalRunArgs: optionalArgs, command: $"pwsh -c (Get-Childitem env:DOTNET_RUNNING_IN_CONTAINER).Value" diff --git a/tests/Microsoft.DotNet.Docker.Tests/TestAppArtifacts/NuGet.config.nightly b/tests/Microsoft.DotNet.Docker.Tests/TestAppArtifacts/NuGet.config.nightly index 92c5ab9267..138dc5b1b1 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/TestAppArtifacts/NuGet.config.nightly +++ b/tests/Microsoft.DotNet.Docker.Tests/TestAppArtifacts/NuGet.config.nightly @@ -5,5 +5,6 @@ + diff --git a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs index 24fe4593b1..11d1970d1c 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs @@ -246,7 +246,70 @@ public static class TestData new ProductImageData { Version = V9_0, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble, ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, new ProductImageData { Version = V9_0, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble, SdkImageVariant = DotNetImageVariant.AOT, - ImageVariant = DotNetImageVariant.AOT, SupportedImageRepos = DotNetImageRepo.Runtime_Deps } + ImageVariant = DotNetImageVariant.AOT, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, + + + new ProductImageData { Version = V10_0_Preview, OS = OS.BookwormSlim, Arch = Arch.Amd64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Noble, Arch = Arch.Amd64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Amd64, SdkOS = OS.Noble }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Amd64, SdkOS = OS.Noble }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Amd64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Amd64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Amd64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Amd64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Amd64, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Amd64, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30, Arch = Arch.Amd64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Amd64, SdkOS = OS.AzureLinux30 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Amd64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Amd64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Amd64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30, Arch = Arch.Arm64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, + ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.BookwormSlim, Arch = Arch.Arm64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Noble, Arch = Arch.Arm64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm64, SdkOS = OS.Noble }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm64, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm64 }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm64, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm64, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, + + new ProductImageData { Version = V10_0_Preview, OS = OS.BookwormSlim, Arch = Arch.Arm }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Alpine321, Arch = Arch.Arm, SdkOS = OS.Alpine321, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, + new ProductImageData { Version = V10_0_Preview, OS = OS.Noble, Arch = Arch.Arm }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V10_0_Preview, OS = OS.NobleChiseled, Arch = Arch.Arm, SdkOS = OS.Noble, + ImageVariant = DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Runtime_Deps | DotNetImageRepo.Runtime | DotNetImageRepo.Aspnet }, }; private static readonly ProductImageData[] s_windowsTestData = diff --git a/tests/performance/ImageSize.nightly.linux.json b/tests/performance/ImageSize.nightly.linux.json index 0133824a9f..b918cd3a50 100644 --- a/tests/performance/ImageSize.nightly.linux.json +++ b/tests/performance/ImageSize.nightly.linux.json @@ -97,7 +97,31 @@ "src/runtime-deps/9.0/azurelinux3.0-distroless-aot/amd64": 18884861, "src/runtime-deps/9.0/azurelinux3.0-distroless-aot/arm64v8": 16068598, "src/runtime-deps/9.0/azurelinux3.0-distroless-extra/amd64": 56229970, - "src/runtime-deps/9.0/azurelinux3.0-distroless-extra/arm64v8": 53042143 + "src/runtime-deps/9.0/azurelinux3.0-distroless-extra/arm64v8": 53042143, + "src/runtime-deps/10.0/alpine3.21/amd64": 10251833, + "src/runtime-deps/10.0/alpine3.21/arm32v7": 6858356, + "src/runtime-deps/10.0/alpine3.21/arm64v8": 10582917, + "src/runtime-deps/10.0/alpine3.21-extra/amd64": 46656829, + "src/runtime-deps/10.0/alpine3.21-extra/arm32v7": 42507728, + "src/runtime-deps/10.0/alpine3.21-extra/arm64v8": 47614445, + "src/runtime-deps/10.0/azurelinux3.0/amd64": 106886896, + "src/runtime-deps/10.0/azurelinux3.0/arm64v8": 101218471, + "src/runtime-deps/10.0/azurelinux3.0-distroless/amd64": 21317388, + "src/runtime-deps/10.0/azurelinux3.0-distroless/arm64v8": 18449538, + "src/runtime-deps/10.0/azurelinux3.0-distroless-extra/amd64": 56229970, + "src/runtime-deps/10.0/azurelinux3.0-distroless-extra/arm64v8": 53042143, + "src/runtime-deps/10.0/bookworm-slim/amd64": 122238983, + "src/runtime-deps/10.0/bookworm-slim/arm32v7": 97861952, + "src/runtime-deps/10.0/bookworm-slim/arm64v8": 144762223, + "src/runtime-deps/10.0/noble/amd64": 119412449, + "src/runtime-deps/10.0/noble/arm32v7": 95556118, + "src/runtime-deps/10.0/noble/arm64v8": 110537989, + "src/runtime-deps/10.0/noble-chiseled/amd64": 12935991, + "src/runtime-deps/10.0/noble-chiseled/arm32v7": 7753302, + "src/runtime-deps/10.0/noble-chiseled/arm64v8": 10176580, + "src/runtime-deps/10.0/noble-chiseled-extra/amd64": 50512854, + "src/runtime-deps/10.0/noble-chiseled-extra/arm32v7": 42156982, + "src/runtime-deps/10.0/noble-chiseled-extra/arm64v8": 47568019 }, "dotnet/nightly/runtime": { "src/runtime/8.0/bookworm-slim/amd64": 193378063, @@ -159,7 +183,28 @@ "src/runtime/9.0/azurelinux3.0-distroless/amd64": 94923731, "src/runtime/9.0/azurelinux3.0-distroless/arm64v8": 98344674, "src/runtime/9.0/azurelinux3.0-distroless-extra/amd64": 131038401, - "src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8": 134248990 + "src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8": 134248990, + "src/runtime/10.0/alpine3.21/amd64": 83969542, + "src/runtime/10.0/alpine3.21/arm32v7": 74931261, + "src/runtime/10.0/alpine3.21/arm64v8": 90558408, + "src/runtime/10.0/azurelinux3.0/amd64": 182018231, + "src/runtime/10.0/azurelinux3.0/arm64v8": 182481365, + "src/runtime/10.0/azurelinux3.0-distroless/amd64": 94923731, + "src/runtime/10.0/azurelinux3.0-distroless/arm64v8": 98344674, + "src/runtime/10.0/azurelinux3.0-distroless-extra/amd64": 131038401, + "src/runtime/10.0/azurelinux3.0-distroless-extra/arm64v8": 134248990, + "src/runtime/10.0/bookworm-slim/amd64": 193906419, + "src/runtime/10.0/bookworm-slim/arm32v7": 165821014, + "src/runtime/10.0/bookworm-slim/arm64v8": 222493669, + "src/runtime/10.0/noble/amd64": 193045485, + "src/runtime/10.0/noble/arm32v7": 169837975, + "src/runtime/10.0/noble/arm64v8": 190484812, + "src/runtime/10.0/noble-chiseled/amd64": 86613767, + "src/runtime/10.0/noble-chiseled/arm32v7": 71980198, + "src/runtime/10.0/noble-chiseled/arm64v8": 90106887, + "src/runtime/10.0/noble-chiseled-extra/amd64": 124118557, + "src/runtime/10.0/noble-chiseled-extra/arm32v7": 109564117, + "src/runtime/10.0/noble-chiseled-extra/arm64v8": 127442477 }, "dotnet/nightly/aspnet": { "src/aspnet/8.0/bookworm-slim/amd64": 214930477, @@ -261,7 +306,41 @@ "src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64": 155090332, "src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8": 126485392, "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64": 148896209, - "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8": 114650761 + "src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8": 114650761, + "src/aspnet/10.0/alpine3.21/amd64": 107954420, + "src/aspnet/10.0/alpine3.21/arm32v7": 100404523, + "src/aspnet/10.0/alpine3.21/arm64v8": 117325504, + "src/aspnet/10.0/alpine3.21-composite/amd64": 101213025, + "src/aspnet/10.0/alpine3.21-composite/arm32v7": 90383294, + "src/aspnet/10.0/alpine3.21-composite/arm64v8": 104931073, + "src/aspnet/10.0/azurelinux3.0/amd64": 206003084, + "src/aspnet/10.0/azurelinux3.0/arm64v8": 209248436, + "src/aspnet/10.0/azurelinux3.0-distroless/amd64": 118908584, + "src/aspnet/10.0/azurelinux3.0-distroless/arm64v8": 125111745, + "src/aspnet/10.0/azurelinux3.0-distroless-composite/amd64": 112155995, + "src/aspnet/10.0/azurelinux3.0-distroless-composite/arm64v8": 112706648, + "src/aspnet/10.0/azurelinux3.0-distroless-extra/amd64": 155090332, + "src/aspnet/10.0/azurelinux3.0-distroless-extra/arm64v8": 126485392, + "src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/amd64": 148896209, + "src/aspnet/10.0/azurelinux3.0-distroless-composite-extra/arm64v8": 114650761, + "src/aspnet/10.0/bookworm-slim/amd64": 217891272, + "src/aspnet/10.0/bookworm-slim/arm32v7": 191294251, + "src/aspnet/10.0/bookworm-slim/arm64v8": 249260740, + "src/aspnet/10.0/noble/amd64": 217030338, + "src/aspnet/10.0/noble/arm32v7": 215645466, + "src/aspnet/10.0/noble/arm64v8": 217251883, + "src/aspnet/10.0/noble-chiseled/amd64": 110598620, + "src/aspnet/10.0/noble-chiseled/arm32v7": 107739112, + "src/aspnet/10.0/noble-chiseled/arm64v8": 116873958, + "src/aspnet/10.0/noble-chiseled-extra/amd64": 148103410, + "src/aspnet/10.0/noble-chiseled-extra/arm32v7": 146808868, + "src/aspnet/10.0/noble-chiseled-extra/arm64v8": 154209548, + "src/aspnet/10.0/noble-chiseled-composite/amd64": 103846031, + "src/aspnet/10.0/noble-chiseled-composite/arm32v7": 98898655, + "src/aspnet/10.0/noble-chiseled-composite/arm64v8": 104468861, + "src/aspnet/10.0/noble-chiseled-composite-extra/amd64": 141350821, + "src/aspnet/10.0/noble-chiseled-composite-extra/arm32v7": 139076871, + "src/aspnet/10.0/noble-chiseled-composite-extra/arm64v8": 141804451 }, "dotnet/nightly/sdk": { "src/sdk/8.0/bookworm-slim/amd64": 823543661, @@ -315,7 +394,18 @@ "src/sdk/9.0/azurelinux3.0/amd64": 1192447426, "src/sdk/9.0/azurelinux3.0/arm64v8": 1201391993, "src/sdk/9.0/azurelinux3.0-aot/amd64": 1551916354, - "src/sdk/9.0/azurelinux3.0-aot/arm64v8": 1535416587 + "src/sdk/9.0/azurelinux3.0-aot/arm64v8": 1535416587, + "src/sdk/10.0/alpine3.21/amd64": 720060909, + "src/sdk/10.0/alpine3.21/arm32v7": 688280669, + "src/sdk/10.0/alpine3.21/arm64v8": 738892101, + "src/sdk/10.0/azurelinux3.0/amd64": 1192447426, + "src/sdk/10.0/azurelinux3.0/arm64v8": 1201391993, + "src/sdk/10.0/bookworm-slim/amd64": 896392658, + "src/sdk/10.0/bookworm-slim/arm32v7": 844112062, + "src/sdk/10.0/bookworm-slim/arm64v8": 952784503, + "src/sdk/10.0/noble/amd64": 874884561, + "src/sdk/10.0/noble/arm32v7": 758582419, + "src/sdk/10.0/noble/arm64v8": 896400197 }, "dotnet/nightly/monitor": { "src/monitor/8.0/ubuntu-chiseled/amd64": 127821834, diff --git a/tests/performance/ImageSize.nightly.windows.json b/tests/performance/ImageSize.nightly.windows.json index f7e5d38211..179212b62a 100644 --- a/tests/performance/ImageSize.nightly.windows.json +++ b/tests/performance/ImageSize.nightly.windows.json @@ -11,7 +11,13 @@ "src/runtime/9.0/nanoserver-ltsc2025/amd64": 370748495, "src/runtime/9.0/windowsservercore-ltsc2019/amd64": 4564586955, "src/runtime/9.0/windowsservercore-ltsc2022/amd64": 4349208890, - "src/runtime/9.0/windowsservercore-ltsc2025/amd64": 4349208890 + "src/runtime/9.0/windowsservercore-ltsc2025/amd64": 4349208890, + "src/runtime/10.0/nanoserver-1809/amd64": 332610335, + "src/runtime/10.0/nanoserver-ltsc2022/amd64": 370748495, + "src/runtime/10.0/nanoserver-ltsc2025/amd64": 370748495, + "src/runtime/10.0/windowsservercore-ltsc2019/amd64": 4564586955, + "src/runtime/10.0/windowsservercore-ltsc2022/amd64": 4349208890, + "src/runtime/10.0/windowsservercore-ltsc2025/amd64": 4349208890 }, "dotnet/nightly/aspnet": { "src/aspnet/8.0/nanoserver-1809/amd64": 357313558, @@ -25,7 +31,13 @@ "src/aspnet/9.0/nanoserver-ltsc2025/amd64": 395451718, "src/aspnet/9.0/windowsservercore-ltsc2019/amd64": 4597349699, "src/aspnet/9.0/windowsservercore-ltsc2022/amd64": 4384942436, - "src/aspnet/9.0/windowsservercore-ltsc2025/amd64": 4384942436 + "src/aspnet/9.0/windowsservercore-ltsc2025/amd64": 4384942436, + "src/aspnet/10.0/nanoserver-1809/amd64": 357313558, + "src/aspnet/10.0/nanoserver-ltsc2022/amd64": 395451718, + "src/aspnet/10.0/nanoserver-ltsc2025/amd64": 395451718, + "src/aspnet/10.0/windowsservercore-ltsc2019/amd64": 4597349699, + "src/aspnet/10.0/windowsservercore-ltsc2022/amd64": 4384942436, + "src/aspnet/10.0/windowsservercore-ltsc2025/amd64": 4384942436 }, "dotnet/nightly/sdk": { "src/sdk/8.0/nanoserver-1809/amd64": 1175257056, @@ -39,6 +51,12 @@ "src/sdk/9.0/nanoserver-ltsc2025/amd64": 1203940725, "src/sdk/9.0/windowsservercore-ltsc2019/amd64": 5385902200, "src/sdk/9.0/windowsservercore-ltsc2022/amd64": 5242983816, - "src/sdk/9.0/windowsservercore-ltsc2025/amd64": 5242983816 + "src/sdk/9.0/windowsservercore-ltsc2025/amd64": 5242983816, + "src/sdk/10.0/nanoserver-1809/amd64": 1175257056, + "src/sdk/10.0/nanoserver-ltsc2022/amd64": 1203940725, + "src/sdk/10.0/nanoserver-ltsc2025/amd64": 1203940725, + "src/sdk/10.0/windowsservercore-ltsc2019/amd64": 5385902200, + "src/sdk/10.0/windowsservercore-ltsc2022/amd64": 5242983816, + "src/sdk/10.0/windowsservercore-ltsc2025/amd64": 5242983816 } }