diff --git a/.gitattributes b/.gitattributes index 7ead819fab..e3b2be7715 100644 --- a/.gitattributes +++ b/.gitattributes @@ -78,3 +78,5 @@ src/coreclr/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complem src/coreclr/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input.txt text eol=lf src/coreclr/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input-big.txt text eol=lf src/coreclr/tests/src/performance/Scenario/JitBench/Resources/word2vecnet.patch text eol=lf + +tests/Microsoft.DotNet.Docker.Tests/Baselines/** linguist-generated diff --git a/.gitignore b/.gitignore index dee6e47c17..8a827c893e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ artifacts/ # ImageBuilder directory .Microsoft.DotNet.ImageBuilder + +# Snapshots for acceptance testing (Shouldly) +*.received.* diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5fa4ebabd..ee1c78498e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,10 +83,16 @@ The [READMEs](https://github.com/search?q=repo%3Adotnet%2Fdotnet-docker+path%3A* ### Tests -There are two basic types of [tests](https://github.com/dotnet/dotnet-docker/tree/main/tests) for each of the images produced from this repo. +There are several types of [tests](https://github.com/dotnet/dotnet-docker/tree/main/tests) in this repo. -1. Unit tests that validate the static state of images. This includes things like verifing which environment variables are defined. -1. Scenario tests that validate basic usage scenarios. For example the SDK image is used to create, build and run a new console app. +1. Image tests + - Unit tests that validate the static state of images, based on their filesystem contents or manifest/image config. + This includes things like verifying which environment variables are defined and which packages are installed. + - Scenario tests that run images to validate basic user scenarios. + For example, use the SDK image to create, build and run a .NET app. +1. `"pre-build"` tests + - Validate that tags adhere to a specific set of rules ([`StaticTagTests.cs`](tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs)) + - Verify the state of generated Dockerfile templates (public and internal versions) When editing Dockerfiles, please ensure the appropriate test changes are also made. @@ -113,7 +119,18 @@ From the "Run and Debug" sidebar panel, run the "Attach .NET Debugger" launch co VS Code will prompt you for a process ID to attach to. Type in the PID that was printed to the terminal earlier. Now, VS Code is attached to the .NET Debugger. -You can press F5 (Continue) to start test execution. +Press F5 (Continue) to start test execution. + +#### Verifying Internal Dockerfiles + +Internal Dockerfiles are validated using "snapshot" testing, which uses tooling to record and test the accepted state of the Dockerfiles. +If your changes fail tests due to changes in the internal Dockerfiles, you will need to review the changes before the tests can pass. +You can use a local dotnet tool to accept or reject the changes. + +1. Run the failing test(s). For example: `./tests/run-tests.ps1 -Paths "*" -TestCategories "pre-build" -CustomTestFilter "VerifyInternalDockerfilesOutput"` +1. The failing test will output updated baseline files in the `tests/Microsoft.DotNet.Docker.Tests/Baselines/` directory, ending in `*.received.txt`. +1. Accept or discard the changes: `./tests/accept-changes.ps1 [-Discard]`. This script will either rename all of the `.received.txt` files to `.approved.txt` or remove them. +1. If the git diff of the changes look acceptable, then commit the changes. ### Metadata Changes diff --git a/README.aspnet.md b/README.aspnet.md index f4126b352a..114ff0bf83 100644 --- a/README.aspnet.md +++ b/README.aspnet.md @@ -80,144 +80,158 @@ 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-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 -9.0.1-alpine3.20-composite-amd64, 9.0-alpine3.20-composite-amd64, 9.0-alpine-composite-amd64, 9.0.1-alpine3.20-composite, 9.0-alpine3.20-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/amd64/Dockerfile) | Alpine 3.20 -9.0.1-noble-amd64, 9.0-noble-amd64, 9.0.1-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-amd64, 9.0-noble-chiseled-composite-amd64, 9.0.1-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-extra-amd64, 9.0-noble-chiseled-composite-extra-amd64, 9.0.1-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-composite-amd64, 9.0-azurelinux3.0-distroless-composite-amd64, 9.0.1-azurelinux3.0-distroless-composite, 9.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-composite-extra-amd64, 9.0-azurelinux3.0-distroless-composite-extra-amd64, 9.0.1-azurelinux3.0-distroless-composite-extra, 9.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 -8.0.12-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/aspnet/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-composite-amd64, 8.0-alpine3.21-composite-amd64, 8.0.12-alpine3.21-composite, 8.0-alpine3.21-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/amd64/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0-alpine-amd64, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-composite-amd64, 8.0-alpine3.20-composite-amd64, 8.0-alpine-composite-amd64, 8.0.12-alpine3.20-composite, 8.0-alpine3.20-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile) | Alpine 3.20 -8.0.12-noble-amd64, 8.0-noble-amd64, 8.0.12-noble, 8.0-noble | [Dockerfile](src/aspnet/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/aspnet/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-composite-amd64, 8.0-noble-chiseled-composite-amd64, 8.0.12-noble-chiseled-composite, 8.0-noble-chiseled-composite | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-composite-extra-amd64, 8.0-noble-chiseled-composite-extra-amd64, 8.0.12-noble-chiseled-composite-extra, 8.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-amd64, 8.0-jammy-amd64, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-composite-amd64, 8.0-jammy-chiseled-composite-amd64, 8.0.12-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-composite-extra-amd64, 8.0-jammy-chiseled-composite-extra-amd64, 8.0.12-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-composite-amd64, 8.0-azurelinux3.0-distroless-composite-amd64, 8.0.12-azurelinux3.0-distroless-composite, 8.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-composite-extra-amd64, 8.0-azurelinux3.0-distroless-composite-extra-amd64, 8.0.12-azurelinux3.0-distroless-composite-extra, 8.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 -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/aspnet/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/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile) | CBL-Mariner 2.0 -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 +9.0.2-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.2-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0-alpine-amd64, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-composite-amd64, 9.0-alpine3.21-composite-amd64, 9.0-alpine-composite-amd64, 9.0.2-alpine3.21-composite, 9.0-alpine3.21-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/amd64/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/aspnet/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-composite-amd64, 9.0-alpine3.20-composite-amd64, 9.0.2-alpine3.20-composite, 9.0-alpine3.20-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/amd64/Dockerfile) | Alpine 3.20 +9.0.2-noble-amd64, 9.0-noble-amd64, 9.0.2-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-amd64, 9.0-noble-chiseled-composite-amd64, 9.0.2-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-extra-amd64, 9.0-noble-chiseled-composite-extra-amd64, 9.0.2-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-composite-amd64, 9.0-azurelinux3.0-distroless-composite-amd64, 9.0.2-azurelinux3.0-distroless-composite, 9.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-composite-extra-amd64, 9.0-azurelinux3.0-distroless-composite-extra-amd64, 9.0.2-azurelinux3.0-distroless-composite-extra, 9.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +8.0.13-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0-alpine-amd64, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-composite-amd64, 8.0-alpine3.21-composite-amd64, 8.0-alpine-composite-amd64, 8.0.13-alpine3.21-composite, 8.0-alpine3.21-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/amd64/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/aspnet/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-composite-amd64, 8.0-alpine3.20-composite-amd64, 8.0.13-alpine3.20-composite, 8.0-alpine3.20-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile) | Alpine 3.20 +8.0.13-noble-amd64, 8.0-noble-amd64, 8.0.13-noble, 8.0-noble | [Dockerfile](src/aspnet/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/aspnet/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-composite-amd64, 8.0-noble-chiseled-composite-amd64, 8.0.13-noble-chiseled-composite, 8.0-noble-chiseled-composite | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-composite-extra-amd64, 8.0-noble-chiseled-composite-extra-amd64, 8.0.13-noble-chiseled-composite-extra, 8.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-amd64, 8.0-jammy-amd64, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-amd64, 8.0-jammy-chiseled-composite-amd64, 8.0.13-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-extra-amd64, 8.0-jammy-chiseled-composite-extra-amd64, 8.0.13-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-composite-amd64, 8.0-azurelinux3.0-distroless-composite-amd64, 8.0.13-azurelinux3.0-distroless-composite, 8.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-composite-extra-amd64, 8.0-azurelinux3.0-distroless-composite-extra-amd64, 8.0.13-azurelinux3.0-distroless-composite-extra, 8.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-amd64, 8.0-cbl-mariner2.0-distroless-amd64, 8.0.13-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.13-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-composite-amd64, 8.0-cbl-mariner2.0-distroless-composite-amd64, 8.0.13-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.13-cbl-mariner2.0-distroless-composite-extra-amd64, 8.0-cbl-mariner2.0-distroless-composite-extra-amd64, 8.0.13-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 ### 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-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 -9.0.1-alpine3.20-composite-arm64v8, 9.0-alpine3.20-composite-arm64v8, 9.0-alpine-composite-arm64v8, 9.0.1-alpine3.20-composite, 9.0-alpine3.20-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile) | Alpine 3.20 -9.0.1-noble-arm64v8, 9.0-noble-arm64v8, 9.0.1-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-arm64v8, 9.0-noble-chiseled-composite-arm64v8, 9.0.1-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-extra-arm64v8, 9.0-noble-chiseled-composite-extra-arm64v8, 9.0.1-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-composite-arm64v8, 9.0-azurelinux3.0-distroless-composite-arm64v8, 9.0.1-azurelinux3.0-distroless-composite, 9.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-composite-extra-arm64v8, 9.0-azurelinux3.0-distroless-composite-extra-arm64v8, 9.0.1-azurelinux3.0-distroless-composite-extra, 9.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/aspnet/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-composite-arm64v8, 8.0-alpine3.21-composite-arm64v8, 8.0.12-alpine3.21-composite, 8.0-alpine3.21-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0-alpine-arm64v8, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-composite-arm64v8, 8.0-alpine3.20-composite-arm64v8, 8.0-alpine-composite-arm64v8, 8.0.12-alpine3.20-composite, 8.0-alpine3.20-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile) | Alpine 3.20 -8.0.12-noble-arm64v8, 8.0-noble-arm64v8, 8.0.12-noble, 8.0-noble | [Dockerfile](src/aspnet/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-composite-arm64v8, 8.0-noble-chiseled-composite-arm64v8, 8.0.12-noble-chiseled-composite, 8.0-noble-chiseled-composite | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-composite-extra-arm64v8, 8.0-noble-chiseled-composite-extra-arm64v8, 8.0.12-noble-chiseled-composite-extra, 8.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-composite-arm64v8, 8.0-jammy-chiseled-composite-arm64v8, 8.0.12-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-composite-extra-arm64v8, 8.0-jammy-chiseled-composite-extra-arm64v8, 8.0.12-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-composite-arm64v8, 8.0-azurelinux3.0-distroless-composite-arm64v8, 8.0.12-azurelinux3.0-distroless-composite, 8.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-composite-extra-arm64v8, 8.0-azurelinux3.0-distroless-composite-extra-arm64v8, 8.0.12-azurelinux3.0-distroless-composite-extra, 8.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 -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/aspnet/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/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 -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 +9.0.2-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0-alpine-arm64v8, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-composite-arm64v8, 9.0-alpine3.21-composite-arm64v8, 9.0-alpine-composite-arm64v8, 9.0.2-alpine3.21-composite, 9.0-alpine3.21-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/aspnet/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-composite-arm64v8, 9.0-alpine3.20-composite-arm64v8, 9.0.2-alpine3.20-composite, 9.0-alpine3.20-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm64v8, 9.0-noble-arm64v8, 9.0.2-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-arm64v8, 9.0-noble-chiseled-composite-arm64v8, 9.0.2-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-extra-arm64v8, 9.0-noble-chiseled-composite-extra-arm64v8, 9.0.2-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-composite-arm64v8, 9.0-azurelinux3.0-distroless-composite-arm64v8, 9.0.2-azurelinux3.0-distroless-composite, 9.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-composite-extra-arm64v8, 9.0-azurelinux3.0-distroless-composite-extra-arm64v8, 9.0.2-azurelinux3.0-distroless-composite-extra, 9.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0-alpine-arm64v8, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-composite-arm64v8, 8.0-alpine3.21-composite-arm64v8, 8.0-alpine-composite-arm64v8, 8.0.13-alpine3.21-composite, 8.0-alpine3.21-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/aspnet/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-composite-arm64v8, 8.0-alpine3.20-composite-arm64v8, 8.0.13-alpine3.20-composite, 8.0-alpine3.20-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile) | Alpine 3.20 +8.0.13-noble-arm64v8, 8.0-noble-arm64v8, 8.0.13-noble, 8.0-noble | [Dockerfile](src/aspnet/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-composite-arm64v8, 8.0-noble-chiseled-composite-arm64v8, 8.0.13-noble-chiseled-composite, 8.0-noble-chiseled-composite | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-composite-extra-arm64v8, 8.0-noble-chiseled-composite-extra-arm64v8, 8.0.13-noble-chiseled-composite-extra, 8.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-arm64v8, 8.0-jammy-chiseled-composite-arm64v8, 8.0.13-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-extra-arm64v8, 8.0-jammy-chiseled-composite-extra-arm64v8, 8.0.13-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-composite-arm64v8, 8.0-azurelinux3.0-distroless-composite-arm64v8, 8.0.13-azurelinux3.0-distroless-composite, 8.0-azurelinux3.0-distroless-composite | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-composite-extra-arm64v8, 8.0-azurelinux3.0-distroless-composite-extra-arm64v8, 8.0.13-azurelinux3.0-distroless-composite-extra, 8.0-azurelinux3.0-distroless-composite-extra | [Dockerfile](src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-arm64v8, 8.0-cbl-mariner2.0-distroless-arm64v8, 8.0.13-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.13-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra | [Dockerfile](src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-composite-arm64v8, 8.0-cbl-mariner2.0-distroless-composite-arm64v8, 8.0.13-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.13-cbl-mariner2.0-distroless-composite-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-composite-extra-arm64v8, 8.0.13-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 ### 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-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 -9.0.1-alpine3.20-composite-arm32v7, 9.0-alpine3.20-composite-arm32v7, 9.0-alpine-composite-arm32v7, 9.0.1-alpine3.20-composite, 9.0-alpine3.20-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile) | Alpine 3.20 -9.0.1-noble-arm32v7, 9.0-noble-arm32v7, 9.0.1-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-arm32v7, 9.0-noble-chiseled-composite-arm32v7, 9.0.1-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-composite-extra-arm32v7, 9.0-noble-chiseled-composite-extra-arm32v7, 9.0.1-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile) | Ubuntu 24.04 -8.0.12-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/aspnet/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-composite-arm32v7, 8.0-alpine3.21-composite-arm32v7, 8.0.12-alpine3.21-composite, 8.0-alpine3.21-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0-alpine-arm32v7, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-composite-arm32v7, 8.0-alpine3.20-composite-arm32v7, 8.0-alpine-composite-arm32v7, 8.0.12-alpine3.20-composite, 8.0-alpine3.20-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile) | Alpine 3.20 -8.0.12-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/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/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 -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 +9.0.2-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0-alpine-arm32v7, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/aspnet/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-composite-arm32v7, 9.0-alpine3.21-composite-arm32v7, 9.0-alpine-composite-arm32v7, 9.0.2-alpine3.21-composite, 9.0-alpine3.21-composite, 9.0-alpine-composite | [Dockerfile](src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/aspnet/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-composite-arm32v7, 9.0-alpine3.20-composite-arm32v7, 9.0.2-alpine3.20-composite, 9.0-alpine3.20-composite | [Dockerfile](src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm32v7, 9.0-noble-arm32v7, 9.0.2-noble, 9.0-noble | [Dockerfile](src/aspnet/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-arm32v7, 9.0-noble-chiseled-composite-arm32v7, 9.0.2-noble-chiseled-composite, 9.0-noble-chiseled-composite | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-composite-extra-arm32v7, 9.0-noble-chiseled-composite-extra-arm32v7, 9.0.2-noble-chiseled-composite-extra, 9.0-noble-chiseled-composite-extra | [Dockerfile](src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +8.0.13-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0-alpine-arm32v7, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/aspnet/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-composite-arm32v7, 8.0-alpine3.21-composite-arm32v7, 8.0-alpine-composite-arm32v7, 8.0.13-alpine3.21-composite, 8.0-alpine3.21-composite, 8.0-alpine-composite | [Dockerfile](src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/aspnet/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-composite-arm32v7, 8.0-alpine3.20-composite-arm32v7, 8.0.13-alpine3.20-composite, 8.0-alpine3.20-composite | [Dockerfile](src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile) | Alpine 3.20 +8.0.13-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/aspnet/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/aspnet/8.0/jammy-chiseled/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-arm32v7, 8.0-jammy-chiseled-composite-arm32v7, 8.0.13-jammy-chiseled-composite, 8.0-jammy-chiseled-composite | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-composite-extra-arm32v7, 8.0-jammy-chiseled-composite-extra-arm32v7, 8.0.13-jammy-chiseled-composite-extra, 8.0-jammy-chiseled-composite-extra | [Dockerfile](src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile) | Ubuntu 22.04 + +### Nano Server 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.2-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/aspnet/9.0/nanoserver-ltsc2025/amd64/Dockerfile) +8.0.13-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/aspnet/8.0/nanoserver-ltsc2025/amd64/Dockerfile) + +### Windows Server Core 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.2-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/aspnet/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) ### Nano Server 2022 amd64 Tags 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) +9.0.2-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile) +8.0.13-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile) ### Windows Server Core 2022 amd64 Tags 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) +9.0.2-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) ### Nano Server, version 1809 amd64 Tags 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) +9.0.2-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile) +8.0.13-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/aspnet/8.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) +9.0.2-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/aspnet/8.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/aspnet/tags/list) for all supported and unsupported tags.* diff --git a/README.monitor-base.md b/README.monitor-base.md index 4940438f3e..f5f70d6846 100644 --- a/README.monitor-base.md +++ b/README.monitor-base.md @@ -49,17 +49,21 @@ The following Dockerfiles demonstrate how you can use this base image to build a Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-amd64, 9.0-amd64, 9.0.1, 9.0, 9, latest | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0 -8.0.7-ubuntu-chiseled-amd64, 8.0-ubuntu-chiseled-amd64, 8-ubuntu-chiseled-amd64, 8.0.7-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8-ubuntu-chiseled, 8.0.7, 8.0, 8 | [Dockerfile](src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 -8.0.7-cbl-mariner-distroless-amd64, 8.0-cbl-mariner-distroless-amd64, 8-cbl-mariner-distroless-amd64, 8.0.7-cbl-mariner-distroless, 8.0-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +9.0.2-amd64, 9.0-amd64, 9.0.2, 9.0, 9, latest | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0 +8.1.0-ubuntu-chiseled-amd64, 8.1-ubuntu-chiseled-amd64, 8-ubuntu-chiseled-amd64, 8.1.0-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.0, 8.1, 8 | [Dockerfile](src/monitor-base/8.1/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.1.0-cbl-mariner-distroless-amd64, 8.1-cbl-mariner-distroless-amd64, 8-cbl-mariner-distroless-amd64, 8.1.0-cbl-mariner-distroless, 8.1-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.1/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.8-ubuntu-chiseled-amd64, 8.0-ubuntu-chiseled-amd64, 8.0.8-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8.0.8, 8.0 | [Dockerfile](src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.0.8-cbl-mariner-distroless-amd64, 8.0-cbl-mariner-distroless-amd64, 8.0.8-cbl-mariner-distroless, 8.0-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1-arm64v8, 9.0-arm64v8, 9.0.1, 9.0, 9, latest | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.7-ubuntu-chiseled-arm64v8, 8.0-ubuntu-chiseled-arm64v8, 8-ubuntu-chiseled-arm64v8, 8.0.7-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8-ubuntu-chiseled, 8.0.7, 8.0, 8 | [Dockerfile](src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.7-cbl-mariner-distroless-arm64v8, 8.0-cbl-mariner-distroless-arm64v8, 8-cbl-mariner-distroless-arm64v8, 8.0.7-cbl-mariner-distroless, 8.0-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +9.0.2-arm64v8, 9.0-arm64v8, 9.0.2, 9.0, 9, latest | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +8.1.0-ubuntu-chiseled-arm64v8, 8.1-ubuntu-chiseled-arm64v8, 8-ubuntu-chiseled-arm64v8, 8.1.0-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.0, 8.1, 8 | [Dockerfile](src/monitor-base/8.1/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.1.0-cbl-mariner-distroless-arm64v8, 8.1-cbl-mariner-distroless-arm64v8, 8-cbl-mariner-distroless-arm64v8, 8.1.0-cbl-mariner-distroless, 8.1-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.1/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.8-ubuntu-chiseled-arm64v8, 8.0-ubuntu-chiseled-arm64v8, 8.0.8-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8.0.8, 8.0 | [Dockerfile](src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.8-cbl-mariner-distroless-arm64v8, 8.0-cbl-mariner-distroless-arm64v8, 8.0.8-cbl-mariner-distroless, 8.0-cbl-mariner-distroless | [Dockerfile](src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 *Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/dotnet/monitor/base/tags/list) for all supported and unsupported tags.* diff --git a/README.monitor.md b/README.monitor.md index 67848b4f2f..5d68739188 100644 --- a/README.monitor.md +++ b/README.monitor.md @@ -48,17 +48,21 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1, 9.0, 9, latest | [Dockerfile](src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0 -8.0.7-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8-ubuntu-chiseled, 8.0.7, 8.0, 8 | [Dockerfile](src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 -8.0.7-cbl-mariner-distroless, 8.0-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +9.0.2, 9.0, 9, latest | [Dockerfile](src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0 +8.1.0-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.0, 8.1, 8 | [Dockerfile](src/monitor/8.1/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.1.0-cbl-mariner-distroless, 8.1-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor/8.1/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.8-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8.0.8, 8.0 | [Dockerfile](src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.0.8-cbl-mariner-distroless, 8.0-cbl-mariner-distroless | [Dockerfile](src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 ### Linux arm64 Tags Tags | Dockerfile | OS Version -----------| -------------| ------------- -9.0.1, 9.0, 9, latest | [Dockerfile](src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.7-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8-ubuntu-chiseled, 8.0.7, 8.0, 8 | [Dockerfile](src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.7-cbl-mariner-distroless, 8.0-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +9.0.2, 9.0, 9, latest | [Dockerfile](src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +8.1.0-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.0, 8.1, 8 | [Dockerfile](src/monitor/8.1/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.1.0-cbl-mariner-distroless, 8.1-cbl-mariner-distroless, 8-cbl-mariner-distroless | [Dockerfile](src/monitor/8.1/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.8-ubuntu-chiseled, 8.0-ubuntu-chiseled, 8.0.8, 8.0 | [Dockerfile](src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.8-cbl-mariner-distroless, 8.0-cbl-mariner-distroless | [Dockerfile](src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 *Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/dotnet/monitor/tags/list) for all supported and unsupported tags.* diff --git a/README.runtime-deps.md b/README.runtime-deps.md index dc042d9bda..7c485cfc86 100644 --- a/README.runtime-deps.md +++ b/README.runtime-deps.md @@ -61,88 +61,88 @@ 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-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-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 -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-deps/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 -9.0.1-alpine3.20-extra-amd64, 9.0-alpine3.20-extra-amd64, 9.0-alpine-extra-amd64, 9.0.1-alpine3.20-extra, 9.0-alpine3.20-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/amd64/Dockerfile) | Alpine 3.20 -9.0.1-noble-amd64, 9.0-noble-amd64, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 -8.0.12-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime-deps/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-extra-amd64, 8.0-alpine3.21-extra-amd64, 8.0.12-alpine3.21-extra, 8.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/amd64/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0-alpine-amd64, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-extra-amd64, 8.0-alpine3.20-extra-amd64, 8.0-alpine-extra-amd64, 8.0.12-alpine3.20-extra, 8.0-alpine3.20-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/amd64/Dockerfile) | Alpine 3.20 -8.0.12-noble-amd64, 8.0-noble-amd64, 8.0.12-noble, 8.0-noble | [Dockerfile](src/runtime-deps/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-amd64, 8.0-jammy-amd64, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 -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-deps/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-deps/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile) | CBL-Mariner 2.0 +9.0.2-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.2-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0-alpine-amd64, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime-deps/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-extra-amd64, 9.0-alpine3.21-extra-amd64, 9.0-alpine-extra-amd64, 9.0.2-alpine3.21-extra, 9.0-alpine3.21-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/amd64/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime-deps/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-extra-amd64, 9.0-alpine3.20-extra-amd64, 9.0.2-alpine3.20-extra, 9.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/amd64/Dockerfile) | Alpine 3.20 +9.0.2-noble-amd64, 9.0-noble-amd64, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +8.0.13-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0-alpine-amd64, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-extra-amd64, 8.0-alpine3.21-extra-amd64, 8.0-alpine-extra-amd64, 8.0.13-alpine3.21-extra, 8.0-alpine3.21-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/amd64/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime-deps/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-extra-amd64, 8.0-alpine3.20-extra-amd64, 8.0.13-alpine3.20-extra, 8.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/amd64/Dockerfile) | Alpine 3.20 +8.0.13-noble-amd64, 8.0-noble-amd64, 8.0.13-noble, 8.0-noble | [Dockerfile](src/runtime-deps/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-amd64, 8.0-jammy-amd64, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-amd64, 8.0-cbl-mariner2.0-distroless-amd64, 8.0.13-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.13-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 ### 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-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-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 -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-deps/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 -9.0.1-alpine3.20-extra-arm64v8, 9.0-alpine3.20-extra-arm64v8, 9.0-alpine-extra-arm64v8, 9.0.1-alpine3.20-extra, 9.0-alpine3.20-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/arm64v8/Dockerfile) | Alpine 3.20 -9.0.1-noble-arm64v8, 9.0-noble-arm64v8, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime-deps/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-extra-arm64v8, 8.0-alpine3.21-extra-arm64v8, 8.0.12-alpine3.21-extra, 8.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/arm64v8/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0-alpine-arm64v8, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-extra-arm64v8, 8.0-alpine3.20-extra-arm64v8, 8.0-alpine-extra-arm64v8, 8.0.12-alpine3.20-extra, 8.0-alpine3.20-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/arm64v8/Dockerfile) | Alpine 3.20 -8.0.12-noble-arm64v8, 8.0-noble-arm64v8, 8.0.12-noble, 8.0-noble | [Dockerfile](src/runtime-deps/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 -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-deps/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-deps/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile) | CBL-Mariner 2.0 +9.0.2-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0-alpine-arm64v8, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime-deps/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-extra-arm64v8, 9.0-alpine3.21-extra-arm64v8, 9.0-alpine-extra-arm64v8, 9.0.2-alpine3.21-extra, 9.0-alpine3.21-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/arm64v8/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime-deps/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-extra-arm64v8, 9.0-alpine3.20-extra-arm64v8, 9.0.2-alpine3.20-extra, 9.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/arm64v8/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm64v8, 9.0-noble-arm64v8, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0-alpine-arm64v8, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-extra-arm64v8, 8.0-alpine3.21-extra-arm64v8, 8.0-alpine-extra-arm64v8, 8.0.13-alpine3.21-extra, 8.0-alpine3.21-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/arm64v8/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime-deps/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-extra-arm64v8, 8.0-alpine3.20-extra-arm64v8, 8.0.13-alpine3.20-extra, 8.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/arm64v8/Dockerfile) | Alpine 3.20 +8.0.13-noble-arm64v8, 8.0-noble-arm64v8, 8.0.13-noble, 8.0-noble | [Dockerfile](src/runtime-deps/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime-deps/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-arm64v8, 8.0-cbl-mariner2.0-distroless-arm64v8, 8.0.13-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless | [Dockerfile](src/runtime-deps/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.13-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 ### 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-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-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 -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-deps/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 -9.0.1-alpine3.20-extra-arm32v7, 9.0-alpine3.20-extra-arm32v7, 9.0-alpine-extra-arm32v7, 9.0.1-alpine3.20-extra, 9.0-alpine3.20-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/arm32v7/Dockerfile) | Alpine 3.20 -9.0.1-noble-arm32v7, 9.0-noble-arm32v7, 9.0.1-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 -8.0.12-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime-deps/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.21-extra-arm32v7, 8.0-alpine3.21-extra-arm32v7, 8.0.12-alpine3.21-extra, 8.0-alpine3.21-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/arm32v7/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0-alpine-arm32v7, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 -8.0.12-alpine3.20-extra-arm32v7, 8.0-alpine3.20-extra-arm32v7, 8.0-alpine-extra-arm32v7, 8.0.12-alpine3.20-extra, 8.0-alpine3.20-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/arm32v7/Dockerfile) | Alpine 3.20 -8.0.12-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 -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-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 +9.0.2-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime-deps/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0-alpine-arm32v7, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime-deps/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.21-extra-arm32v7, 9.0-alpine3.21-extra-arm32v7, 9.0-alpine-extra-arm32v7, 9.0.2-alpine3.21-extra, 9.0-alpine3.21-extra, 9.0-alpine-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.21-extra/arm32v7/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime-deps/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +9.0.2-alpine3.20-extra-arm32v7, 9.0-alpine3.20-extra-arm32v7, 9.0.2-alpine3.20-extra, 9.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/9.0/alpine3.20-extra/arm32v7/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm32v7, 9.0-noble-arm32v7, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime-deps/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +8.0.13-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime-deps/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0-alpine-arm32v7, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime-deps/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.21-extra-arm32v7, 8.0-alpine3.21-extra-arm32v7, 8.0-alpine-extra-arm32v7, 8.0.13-alpine3.21-extra, 8.0-alpine3.21-extra, 8.0-alpine-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.21-extra/arm32v7/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime-deps/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +8.0.13-alpine3.20-extra-arm32v7, 8.0-alpine3.20-extra-arm32v7, 8.0.13-alpine3.20-extra, 8.0-alpine3.20-extra | [Dockerfile](src/runtime-deps/8.0/alpine3.20-extra/arm32v7/Dockerfile) | Alpine 3.20 +8.0.13-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime-deps/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 *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/runtime-deps/tags/list) for all supported and unsupported tags.* diff --git a/README.runtime.md b/README.runtime.md index 347633f879..df388ed782 100644 --- a/README.runtime.md +++ b/README.runtime.md @@ -69,104 +69,118 @@ 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-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 -9.0.1-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 -8.0.12-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0-alpine-amd64, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 -8.0.12-noble-amd64, 8.0-noble-amd64, 8.0.12-noble, 8.0-noble | [Dockerfile](src/runtime/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-amd64, 8.0-jammy-amd64, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 -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 +9.0.2-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.2-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0-alpine-amd64, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +9.0.2-noble-amd64, 9.0-noble-amd64, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +8.0.13-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0-alpine-amd64, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +8.0.13-noble-amd64, 8.0-noble-amd64, 8.0.13-noble, 8.0-noble | [Dockerfile](src/runtime/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime/8.0/noble-chiseled/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime/8.0/noble-chiseled-extra/amd64/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-amd64, 8.0-jammy-amd64, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-amd64, 8.0-cbl-mariner2.0-distroless-amd64, 8.0.13-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.13-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.13-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 ### 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-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 -9.0.1-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.1-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.1-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.1-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -9.0.1-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.1-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0-alpine-arm64v8, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 -8.0.12-noble-arm64v8, 8.0-noble-arm64v8, 8.0.12-noble, 8.0-noble | [Dockerfile](src/runtime/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.12-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.12-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.12-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.12-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.12-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.12-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.12-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.12-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.12-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.12-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.12-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 -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 +9.0.2-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0-alpine-arm64v8, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm64v8, 9.0-noble-arm64v8, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.2-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.2-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.2-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +9.0.2-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.2-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0-alpine-arm64v8, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +8.0.13-noble-arm64v8, 8.0-noble-arm64v8, 8.0.13-noble, 8.0-noble | [Dockerfile](src/runtime/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.13-noble-chiseled, 8.0-noble-chiseled | [Dockerfile](src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.13-noble-chiseled-extra, 8.0-noble-chiseled-extra | [Dockerfile](src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.13-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.13-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.13-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.13-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.13-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra | [Dockerfile](src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.13-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.13-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 +8.0.13-cbl-mariner2.0-distroless-arm64v8, 8.0-cbl-mariner2.0-distroless-arm64v8, 8.0.13-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.13-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.13-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 ### 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-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 -9.0.1-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.1-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 -9.0.1-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.1-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 -8.0.12-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.12-bookworm-slim, 8.0-bookworm-slim, 8.0.12, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 -8.0.12-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0.12-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/runtime/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 -8.0.12-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0-alpine-arm32v7, 8.0.12-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 -8.0.12-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.12-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 -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 +9.0.2-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.2-bookworm-slim, 9.0-bookworm-slim, 9.0.2, 9.0, latest | [Dockerfile](src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.2-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0-alpine-arm32v7, 9.0.2-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/runtime/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +9.0.2-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0.2-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/runtime/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +9.0.2-noble-arm32v7, 9.0-noble-arm32v7, 9.0.2-noble, 9.0-noble | [Dockerfile](src/runtime/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.2-noble-chiseled, 9.0-noble-chiseled | [Dockerfile](src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile) | Ubuntu 24.04 +9.0.2-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.2-noble-chiseled-extra, 9.0-noble-chiseled-extra | [Dockerfile](src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 24.04 +8.0.13-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.13-bookworm-slim, 8.0-bookworm-slim, 8.0.13, 8.0 | [Dockerfile](src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +8.0.13-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0-alpine-arm32v7, 8.0.13-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/runtime/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +8.0.13-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0.13-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/runtime/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +8.0.13-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.13-jammy, 8.0-jammy | [Dockerfile](src/runtime/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.13-jammy-chiseled, 8.0-jammy-chiseled | [Dockerfile](src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile) | Ubuntu 22.04 +8.0.13-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.13-jammy-chiseled-extra, 8.0-jammy-chiseled-extra | [Dockerfile](src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile) | Ubuntu 22.04 + +### Nano Server 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.2-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/runtime/9.0/nanoserver-ltsc2025/amd64/Dockerfile) +8.0.13-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/runtime/8.0/nanoserver-ltsc2025/amd64/Dockerfile) + +### Windows Server Core 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.2-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/runtime/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) ### Nano Server 2022 amd64 Tags 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) +9.0.2-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile) +8.0.13-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile) ### Windows Server Core 2022 amd64 Tags 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) +9.0.2-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) ### Nano Server, version 1809 amd64 Tags 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) +9.0.2-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/runtime/9.0/nanoserver-1809/amd64/Dockerfile) +8.0.13-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/runtime/8.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) +9.0.2-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) +8.0.13-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/runtime/8.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/runtime/tags/list) for all supported and unsupported tags.* diff --git a/README.sdk.md b/README.sdk.md index 9eabe39457..d0a8ea4ad7 100644 --- a/README.sdk.md +++ b/README.sdk.md @@ -65,76 +65,90 @@ 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-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.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 -9.0.102-noble-amd64, 9.0-noble-amd64, 9.0.102-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -9.0.102-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.102-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/sdk/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -8.0.405-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.405-bookworm-slim, 8.0-bookworm-slim, 8.0.405, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 -8.0.405-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0.405-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/sdk/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 -8.0.405-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0-alpine-amd64, 8.0.405-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 -8.0.405-noble-amd64, 8.0-noble-amd64, 8.0.405-noble, 8.0-noble | [Dockerfile](src/sdk/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 -8.0.405-jammy-amd64, 8.0-jammy-amd64, 8.0.405-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 -8.0.405-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.405-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/sdk/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 -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 +9.0.200-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.200-bookworm-slim, 9.0-bookworm-slim, 9.0.200, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +9.0.200-alpine3.21-amd64, 9.0-alpine3.21-amd64, 9.0-alpine-amd64, 9.0.200-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +9.0.200-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0.200-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/sdk/9.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +9.0.200-noble-amd64, 9.0-noble-amd64, 9.0.200-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +9.0.200-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.200-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/sdk/9.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +8.0.406-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.406-bookworm-slim, 8.0-bookworm-slim, 8.0.406, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/amd64/Dockerfile) | Debian 12 +8.0.406-alpine3.21-amd64, 8.0-alpine3.21-amd64, 8.0-alpine-amd64, 8.0.406-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.21/amd64/Dockerfile) | Alpine 3.21 +8.0.406-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0.406-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/sdk/8.0/alpine3.20/amd64/Dockerfile) | Alpine 3.20 +8.0.406-noble-amd64, 8.0-noble-amd64, 8.0.406-noble, 8.0-noble | [Dockerfile](src/sdk/8.0/noble/amd64/Dockerfile) | Ubuntu 24.04 +8.0.406-jammy-amd64, 8.0-jammy-amd64, 8.0.406-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/amd64/Dockerfile) | Ubuntu 22.04 +8.0.406-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.406-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/sdk/8.0/azurelinux3.0/amd64/Dockerfile) | Azure Linux 3.0 +8.0.406-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.406-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile) | CBL-Mariner 2.0 ### 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-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.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 -9.0.102-noble-arm64v8, 9.0-noble-arm64v8, 9.0.102-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -9.0.102-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.102-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -8.0.405-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.405-bookworm-slim, 8.0-bookworm-slim, 8.0.405, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 -8.0.405-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0.405-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/sdk/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 -8.0.405-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0-alpine-arm64v8, 8.0.405-alpine3.20, 8.0-alpine3.20, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 -8.0.405-noble-arm64v8, 8.0-noble-arm64v8, 8.0.405-noble, 8.0-noble | [Dockerfile](src/sdk/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 -8.0.405-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.405-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 -8.0.405-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.405-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 -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 +9.0.200-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.200-bookworm-slim, 9.0-bookworm-slim, 9.0.200, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +9.0.200-alpine3.21-arm64v8, 9.0-alpine3.21-arm64v8, 9.0-alpine-arm64v8, 9.0.200-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +9.0.200-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0.200-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/sdk/9.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +9.0.200-noble-arm64v8, 9.0-noble-arm64v8, 9.0.200-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +9.0.200-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.200-azurelinux3.0, 9.0-azurelinux3.0 | [Dockerfile](src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.406-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.406-bookworm-slim, 8.0-bookworm-slim, 8.0.406, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile) | Debian 12 +8.0.406-alpine3.21-arm64v8, 8.0-alpine3.21-arm64v8, 8.0-alpine-arm64v8, 8.0.406-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.21/arm64v8/Dockerfile) | Alpine 3.21 +8.0.406-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0.406-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/sdk/8.0/alpine3.20/arm64v8/Dockerfile) | Alpine 3.20 +8.0.406-noble-arm64v8, 8.0-noble-arm64v8, 8.0.406-noble, 8.0-noble | [Dockerfile](src/sdk/8.0/noble/arm64v8/Dockerfile) | Ubuntu 24.04 +8.0.406-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.406-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/arm64v8/Dockerfile) | Ubuntu 22.04 +8.0.406-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.406-azurelinux3.0, 8.0-azurelinux3.0 | [Dockerfile](src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile) | Azure Linux 3.0 +8.0.406-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.406-cbl-mariner2.0, 8.0-cbl-mariner2.0 | [Dockerfile](src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile) | CBL-Mariner 2.0 ### 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-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 -8.0.405-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.405-bookworm-slim, 8.0-bookworm-slim, 8.0.405, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 -8.0.405-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0.405-alpine3.21, 8.0-alpine3.21 | [Dockerfile](src/sdk/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 -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 +9.0.200-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.200-bookworm-slim, 9.0-bookworm-slim, 9.0.200, 9.0, latest | [Dockerfile](src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +9.0.200-alpine3.21-arm32v7, 9.0-alpine3.21-arm32v7, 9.0-alpine-arm32v7, 9.0.200-alpine3.21, 9.0-alpine3.21, 9.0-alpine | [Dockerfile](src/sdk/9.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +9.0.200-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0.200-alpine3.20, 9.0-alpine3.20 | [Dockerfile](src/sdk/9.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +9.0.200-noble-arm32v7, 9.0-noble-arm32v7, 9.0.200-noble, 9.0-noble | [Dockerfile](src/sdk/9.0/noble/arm32v7/Dockerfile) | Ubuntu 24.04 +8.0.406-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.406-bookworm-slim, 8.0-bookworm-slim, 8.0.406, 8.0 | [Dockerfile](src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile) | Debian 12 +8.0.406-alpine3.21-arm32v7, 8.0-alpine3.21-arm32v7, 8.0-alpine-arm32v7, 8.0.406-alpine3.21, 8.0-alpine3.21, 8.0-alpine | [Dockerfile](src/sdk/8.0/alpine3.21/arm32v7/Dockerfile) | Alpine 3.21 +8.0.406-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0.406-alpine3.20, 8.0-alpine3.20 | [Dockerfile](src/sdk/8.0/alpine3.20/arm32v7/Dockerfile) | Alpine 3.20 +8.0.406-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.406-jammy, 8.0-jammy | [Dockerfile](src/sdk/8.0/jammy/arm32v7/Dockerfile) | Ubuntu 22.04 + +### Nano Server 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.200-nanoserver-ltsc2025, 9.0-nanoserver-ltsc2025 | [Dockerfile](src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile) +8.0.406-nanoserver-ltsc2025, 8.0-nanoserver-ltsc2025 | [Dockerfile](src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile) + +### Windows Server Core 2025 amd64 Tags + +Tag | Dockerfile +---------| --------------- +9.0.200-windowsservercore-ltsc2025, 9.0-windowsservercore-ltsc2025 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile) +8.0.406-windowsservercore-ltsc2025, 8.0-windowsservercore-ltsc2025 | [Dockerfile](src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile) ### Nano Server 2022 amd64 Tags 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) +9.0.200-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 | [Dockerfile](src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile) +8.0.406-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 | [Dockerfile](src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile) ### Windows Server Core 2022 amd64 Tags 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) +9.0.200-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile) +8.0.406-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 | [Dockerfile](src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile) ### Nano Server, version 1809 amd64 Tags 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) +9.0.200-nanoserver-1809, 9.0-nanoserver-1809 | [Dockerfile](src/sdk/9.0/nanoserver-1809/amd64/Dockerfile) +8.0.406-nanoserver-1809, 8.0-nanoserver-1809 | [Dockerfile](src/sdk/8.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) +9.0.200-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 | [Dockerfile](src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile) +8.0.406-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 | [Dockerfile](src/sdk/8.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/sdk/tags/list) for all supported and unsupported tags.* diff --git a/eng/Get-DropVersions.ps1 b/eng/Get-DropVersions.ps1 index 2e189d4c54..95c175958e 100644 --- a/eng/Get-DropVersions.ps1 +++ b/eng/Get-DropVersions.ps1 @@ -348,5 +348,7 @@ 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/Get-GeneratedDockerfiles.ps1 b/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 index 5ad3e31e1a..dcd79a1ed9 100644 --- a/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 +++ b/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 @@ -1,22 +1,31 @@ #!/usr/bin/env pwsh param( [switch]$Validate, - [string]$Branch + [string]$Branch, + [string]$OutputDirectory, + [string]$CustomImageBuilderArgs ) Import-Module -force $PSScriptRoot/../DependencyManagement.psm1 +if (-Not $CustomImageBuilderArgs) { + $CustomImageBuilderArgs = "" +} + if ($Validate) { - $customImageBuilderArgs = " --validate" + $CustomImageBuilderArgs += " --validate" } -$repoRoot = (Get-Item "$PSScriptRoot").Parent.Parent.FullName +if (-Not $OutputDirectory) { + $repoRoot = (Get-Item "$PSScriptRoot").Parent.Parent.FullName + $OutputDirectory = $repoRoot +} $onDockerfilesGenerated = { param($ContainerName) if (-Not $Validate) { - Exec "docker cp ${ContainerName}:/repo/src $repoRoot" + Exec "docker cp ${ContainerName}:/repo/src $OutputDirectory" } } @@ -25,5 +34,5 @@ if (!$Branch) { } & $PSScriptRoot/../common/Invoke-ImageBuilder.ps1 ` - -ImageBuilderArgs "generateDockerfiles $customImageBuilderArgs --var branch=$Branch" ` + -ImageBuilderArgs "generateDockerfiles $CustomImageBuilderArgs --var branch=$Branch" ` -OnCommandExecuted $onDockerfilesGenerated diff --git a/eng/dockerfile-templates/aspnet/Dockerfile.windows b/eng/dockerfile-templates/aspnet/Dockerfile.windows index eed0ada1df..a34485f7f9 100644 --- a/eng/dockerfile-templates/aspnet/Dockerfile.windows +++ b/eng/dockerfile-templates/aspnet/Dockerfile.windows @@ -1,12 +1,16 @@ {{ set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^ + set isServerCore to find(OS_VERSION, "windowsservercore") >= 0 ^ + set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^ set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^ set isSingleStage to (find(OS_VERSION, "windowsservercore") >= 0 && !isInternal) ^ - set tagVersion to when(dotnetVersion = "6.0" || dotnetVersion = "8.0", - VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")] - VARIABLES[cat("dotnet|", dotnetVersion, "|fixed-tag")]) ^ - set runtimeBaseTag to cat("$REPO:", tagVersion, "-", OS_VERSION) + + set installerStageFromImage to cat("mcr.microsoft.com/windows/servercore:", OS_VERSION_NUMBER, "-amd64") ^ + + set runtimeStageTag to VARIABLES[cat("dotnet|", dotnetVersion, "|fixed-tag")] ^ + set runtimeStageFromImage to cat("$REPO:", runtimeStageTag, "-", OS_VERSION) + }}# escape=` ARG REPO=mcr.microsoft.com/dotnet/runtime @@ -14,7 +18,7 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime _ SINGLE STAGE -}}FROM {{runtimeBaseTag}} +}}FROM {{runtimeStageFromImage}} {{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal])}} @@ -24,7 +28,7 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime _ MULTI STAGE }}# Installer image -FROM mcr.microsoft.com/windows/servercore:{{OS_VERSION_NUMBER}}-amd64 AS installer +FROM {{installerStageFromImage}} AS installer {{if isInternal: ARG ACCESSTOKEN }} @@ -36,7 +40,7 @@ ARG ACCESSTOKEN # ASP.NET Core image -FROM {{runtimeBaseTag}} +FROM {{runtimeStageFromImage}} {{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal])}} diff --git a/eng/dockerfile-templates/runtime/Dockerfile.windows b/eng/dockerfile-templates/runtime/Dockerfile.windows index 4bfa2f3861..41a9925f8d 100644 --- a/eng/dockerfile-templates/runtime/Dockerfile.windows +++ b/eng/dockerfile-templates/runtime/Dockerfile.windows @@ -1,18 +1,27 @@ {{ set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^ set isServerCore to find(OS_VERSION, "windowsservercore") >= 0 ^ + set isServer2025 to find(OS_VERSION_NUMBER, "2025") >= 0 ^ + set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^ set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^ - set isSingleStage to (find(OS_VERSION, "windowsservercore") >= 0 && !isInternal) ^ - set serverCoreBaseTag to cat("mcr.microsoft.com/windows/servercore:", OS_VERSION_NUMBER, "-amd64") ^ - set finalStageBaseRepo to when(isInternal && isServerCore, "servercore", "nanoserver") + set isSingleStage to find(OS_VERSION, "windowsservercore") >= 0 && !isInternal ^ + + set installerStageRepo to cat("mcr.microsoft.com/windows/", "servercore") ^ + set runtimeStageRepo to cat("mcr.microsoft.com/windows/", when(isServerCore, "servercore", "nanoserver")) ^ + + set fromImageTag to cat(OS_VERSION_NUMBER, "-amd64") ^ + + set installerStageFromImage to cat(installerStageRepo, ":", fromImageTag) ^ + set runtimeStageFromImage to cat(runtimeStageRepo, ":", fromImageTag) + }}# escape=` {{if isSingleStage:{{ _ SINGLE STAGE -}}FROM {{serverCoreBaseTag}} +}}FROM {{runtimeStageFromImage}} {{InsertTemplate("../Dockerfile.common-dotnet-envs")}} ` {{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal], " ")}} @@ -24,9 +33,9 @@ else:{{ _ MULTI STAGE - + }}# Installer image -FROM {{serverCoreBaseTag}} AS installer +FROM {{installerStageFromImage}} AS installer {{if isInternal: ARG ACCESSTOKEN }} @@ -39,7 +48,7 @@ ARG ACCESSTOKEN # Runtime image -FROM mcr.microsoft.com/windows/{{finalStageBaseRepo}}:{{OS_VERSION_NUMBER}}-amd64 +FROM {{runtimeStageFromImage}} {{InsertTemplate("../Dockerfile.common-dotnet-envs")}} ` {{InsertTemplate("Dockerfile.envs", ["is-internal": isInternal], " ")}} diff --git a/eng/dockerfile-templates/sdk/Dockerfile.windows b/eng/dockerfile-templates/sdk/Dockerfile.windows index b6118bd13f..5bb30c9c29 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.windows +++ b/eng/dockerfile-templates/sdk/Dockerfile.windows @@ -36,7 +36,7 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet _ MULTI STAGE }}# Installer image -FROM mcr.microsoft.com/windows/servercore:{{OS_VERSION_NUMBER}}-amd64 AS installer +FROM {{installerStageFromImage}} AS installer {{if isInternal: ARG ACCESSTOKEN }} diff --git a/eng/mcr-tags-metadata-templates/aspnet-tags.yml b/eng/mcr-tags-metadata-templates/aspnet-tags.yml index c086aac58c..f7c5f8506c 100644 --- a/eng/mcr-tags-metadata-templates/aspnet-tags.yml +++ b/eng/mcr-tags-metadata-templates/aspnet-tags.yml @@ -39,6 +39,10 @@ $(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:9.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) diff --git a/eng/mcr-tags-metadata-templates/monitor-base-tags.yml b/eng/mcr-tags-metadata-templates/monitor-base-tags.yml index 306282886c..88d24fd210 100644 --- a/eng/mcr-tags-metadata-templates/monitor-base-tags.yml +++ b/eng/mcr-tags-metadata-templates/monitor-base-tags.yml @@ -1,4 +1,6 @@ $(McrTagsYmlRepo:monitor-base) $(McrTagsYmlTagGroup:9.0) +$(McrTagsYmlTagGroup:8.1-ubuntu-chiseled) +$(McrTagsYmlTagGroup:8.1-cbl-mariner-distroless) $(McrTagsYmlTagGroup:8.0-ubuntu-chiseled) $(McrTagsYmlTagGroup:8.0-cbl-mariner-distroless) diff --git a/eng/mcr-tags-metadata-templates/monitor-tags.yml b/eng/mcr-tags-metadata-templates/monitor-tags.yml index 98e76771fb..92e4daa2eb 100644 --- a/eng/mcr-tags-metadata-templates/monitor-tags.yml +++ b/eng/mcr-tags-metadata-templates/monitor-tags.yml @@ -1,4 +1,6 @@ $(McrTagsYmlRepo:monitor) $(McrTagsYmlTagGroup:9.0) +$(McrTagsYmlTagGroup:8.1-ubuntu-chiseled) +$(McrTagsYmlTagGroup:8.1-cbl-mariner-distroless) $(McrTagsYmlTagGroup:8.0-ubuntu-chiseled) $(McrTagsYmlTagGroup:8.0-cbl-mariner-distroless) diff --git a/eng/mcr-tags-metadata-templates/runtime-tags.yml b/eng/mcr-tags-metadata-templates/runtime-tags.yml index e365ed7529..0ab7d46816 100644 --- a/eng/mcr-tags-metadata-templates/runtime-tags.yml +++ b/eng/mcr-tags-metadata-templates/runtime-tags.yml @@ -23,6 +23,10 @@ $(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:9.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) diff --git a/eng/mcr-tags-metadata-templates/sdk-tags.yml b/eng/mcr-tags-metadata-templates/sdk-tags.yml index 70b76424d7..0b4db5fe58 100644 --- a/eng/mcr-tags-metadata-templates/sdk-tags.yml +++ b/eng/mcr-tags-metadata-templates/sdk-tags.yml @@ -11,6 +11,10 @@ $(McrTagsYmlTagGroup:8.0-noble) $(McrTagsYmlTagGroup:8.0-jammy) $(McrTagsYmlTagGroup:8.0-azurelinux3.0) $(McrTagsYmlTagGroup:8.0-cbl-mariner2.0) +$(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2025) +$(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2025) +$(McrTagsYmlTagGroup:8.0-windowsservercore-ltsc2025) $(McrTagsYmlTagGroup:9.0-nanoserver-ltsc2022) $(McrTagsYmlTagGroup:9.0-windowsservercore-ltsc2022) $(McrTagsYmlTagGroup:8.0-nanoserver-ltsc2022) diff --git a/eng/update-dependencies/DockerfileShaUpdater.cs b/eng/update-dependencies/DockerfileShaUpdater.cs index 14e67f1f46..9e90caea7a 100644 --- a/eng/update-dependencies/DockerfileShaUpdater.cs +++ b/eng/update-dependencies/DockerfileShaUpdater.cs @@ -23,7 +23,6 @@ namespace Dotnet.Docker /// public class DockerfileShaUpdater : FileRegexUpdater { - private const string ReleaseDotnetBaseUrl = $"https://dotnetcli.blob.core.windows.net/dotnet"; private const string ReleaseDotnetBaseCdnUrl = $"https://builds.dotnet.microsoft.com/dotnet"; private const string ShaVariableGroupName = "shaVariable"; @@ -146,7 +145,7 @@ public static IEnumerable CreateUpdaters( protected override string? TryGetDesiredValue( IEnumerable dependencyBuildInfos, out IEnumerable usedBuildInfos) { - usedBuildInfos = [ dependencyBuildInfos.First(info => info.SimpleName == _productName) ]; + usedBuildInfos = [dependencyBuildInfos.First(info => info.SimpleName == _productName)]; string baseUrl = ManifestHelper.GetBaseUrl(_manifestVariables.Value, _options); // Remove Aspire Dashboard case once https://github.com/dotnet/aspire/issues/2035 is fixed. @@ -288,7 +287,7 @@ private static string GetArch(string[] variableParts) // the daily build location, we wouldn't use the release checksums file and instead use the other means of // retrieving the checksums. string baseUrl = ManifestHelper.GetBaseUrl(_manifestVariables.Value, _options); - if (baseUrl != ReleaseDotnetBaseUrl && baseUrl != ReleaseDotnetBaseCdnUrl) + if (baseUrl != ReleaseDotnetBaseCdnUrl) { return null; } @@ -349,7 +348,7 @@ private async Task> GetChecksumsFromChecksumsFile() private async Task> GetDotnetReleaseChecksums(string? version) { - string uri = $"{ReleaseDotnetBaseUrl}/checksums/{version}-sha.txt"; + string uri = $"{ReleaseDotnetBaseCdnUrl}/checksums/{version}-sha.txt"; return await GetChecksums( uri, diff --git a/manifest.json b/manifest.json index 8fd1f10dba..d765df933a 100644 --- a/manifest.json +++ b/manifest.json @@ -82,8 +82,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -93,8 +92,7 @@ "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|8.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -105,8 +103,7 @@ "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|8.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -118,8 +115,7 @@ "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|8.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -129,8 +125,7 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.20-extra": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-extra": {}, - "$(dotnet|8.0|minor-tag)-alpine-extra": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-extra": {} }, "platforms": [ { @@ -140,8 +135,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.20-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine-extra-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-extra-amd64": {} }, "customBuildLegGroups": [ { @@ -161,8 +155,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.20-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine-extra-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -183,8 +176,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.20-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.20-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine-extra-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -203,7 +195,8 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21": {} + "$(dotnet|8.0|minor-tag)-alpine3.21": {}, + "$(dotnet|8.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -213,7 +206,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-amd64": {} } }, { @@ -224,7 +218,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -236,7 +231,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -246,7 +242,8 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-extra": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-extra": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-extra": {}, + "$(dotnet|8.0|minor-tag)-alpine-extra": {} }, "platforms": [ { @@ -256,7 +253,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-extra-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-extra-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-extra-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-extra-amd64": {} }, "customBuildLegGroups": [ { @@ -276,7 +274,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-extra-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-extra-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-extra-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -297,7 +296,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-extra-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-extra-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-extra-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -987,8 +987,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -998,8 +997,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -1010,8 +1008,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -1023,8 +1020,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -1034,8 +1030,7 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.20-extra": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-extra": {}, - "$(dotnet|9.0|minor-tag)-alpine-extra": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-extra": {} }, "platforms": [ { @@ -1045,8 +1040,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.20-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine-extra-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-extra-amd64": {} }, "customBuildLegGroups": [ { @@ -1066,8 +1060,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.20-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine-extra-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -1088,8 +1081,7 @@ "osVersion": "alpine3.20", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.20-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.20-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine-extra-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -1108,7 +1100,8 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21": {} + "$(dotnet|9.0|minor-tag)-alpine3.21": {}, + "$(dotnet|9.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -1118,7 +1111,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-amd64": {} } }, { @@ -1129,7 +1123,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -1141,7 +1136,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -1151,7 +1147,8 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-extra": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-extra": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-extra": {}, + "$(dotnet|9.0|minor-tag)-alpine-extra": {} }, "platforms": [ { @@ -1161,7 +1158,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-extra-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-extra-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-extra-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-extra-amd64": {} }, "customBuildLegGroups": [ { @@ -1181,7 +1179,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-extra-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-extra-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-extra-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-extra-arm32v7": {} }, "variant": "v7", "customBuildLegGroups": [ @@ -1202,7 +1201,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-extra-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-extra-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-extra-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-extra-arm64v8": {} }, "variant": "v8", "customBuildLegGroups": [ @@ -1622,8 +1622,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -1636,8 +1635,7 @@ "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|8.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -1651,8 +1649,7 @@ "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|8.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -1667,8 +1664,7 @@ "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|8.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -1678,7 +1674,8 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21": {} + "$(dotnet|8.0|minor-tag)-alpine3.21": {}, + "$(dotnet|8.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -1691,7 +1688,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-amd64": {} } }, { @@ -1705,7 +1703,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -1720,7 +1719,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -2460,6 +2460,21 @@ } ] }, + { + "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": [ @@ -2490,6 +2505,21 @@ } ] }, + { + "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": { @@ -2549,8 +2579,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -2563,8 +2592,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -2578,8 +2606,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -2594,8 +2621,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -2605,7 +2631,8 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21": {} + "$(dotnet|9.0|minor-tag)-alpine3.21": {}, + "$(dotnet|9.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -2618,7 +2645,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-amd64": {} } }, { @@ -2632,7 +2660,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -2647,7 +2676,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -3075,6 +3105,21 @@ } ] }, + { + "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": [ @@ -3104,6 +3149,21 @@ } } ] + }, + { + "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": {} + } + } + ] } ] }, @@ -3184,8 +3244,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -3198,8 +3257,7 @@ "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|8.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -3213,8 +3271,7 @@ "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|8.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -3229,8 +3286,7 @@ "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|8.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -3240,8 +3296,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-composite": {} }, "platforms": [ { @@ -3254,8 +3309,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-amd64": {} } }, { @@ -3269,8 +3323,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm32v7": {} }, "variant": "v7" }, @@ -3285,8 +3338,7 @@ "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": {} + "$(dotnet|8.0|minor-tag)-alpine3.20-composite-arm64v8": {} }, "variant": "v8" } @@ -3296,7 +3348,8 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21": {} + "$(dotnet|8.0|minor-tag)-alpine3.21": {}, + "$(dotnet|8.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -3309,7 +3362,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-amd64": {} } }, { @@ -3323,7 +3377,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -3338,7 +3393,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -3348,7 +3404,8 @@ "productVersion": "$(dotnet|8.0|product-version)", "sharedTags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-composite": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-composite": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite": {} }, "platforms": [ { @@ -3361,7 +3418,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-amd64": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-amd64": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-amd64": {} } }, { @@ -3375,7 +3433,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm32v7": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-arm32v7": {} }, "variant": "v7" }, @@ -3390,7 +3449,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|8.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, - "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm64v8": {} + "$(dotnet|8.0|minor-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|8.0|minor-tag)-alpine-composite-arm64v8": {} }, "variant": "v8" } @@ -4552,6 +4612,24 @@ } ] }, + { + "productVersion": "$(dotnet|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "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": [ @@ -4588,6 +4666,24 @@ } ] }, + { + "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": { @@ -4647,8 +4743,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -4661,8 +4756,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -4676,8 +4770,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -4692,8 +4785,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -4703,8 +4795,7 @@ "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": {} + "$(dotnet|9.0|minor-tag)-alpine3.20-composite": {} }, "platforms": [ { @@ -4717,8 +4808,7 @@ "osVersion": "alpine3.20", "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|9.0|minor-tag)-alpine3.20-composite-amd64": {} } }, { @@ -4732,8 +4822,7 @@ "osVersion": "alpine3.20", "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|9.0|minor-tag)-alpine3.20-composite-arm32v7": {} }, "variant": "v7" }, @@ -4748,8 +4837,7 @@ "osVersion": "alpine3.20", "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|9.0|minor-tag)-alpine3.20-composite-arm64v8": {} }, "variant": "v8" } @@ -4759,7 +4847,8 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.21": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21": {} + "$(dotnet|9.0|minor-tag)-alpine3.21": {}, + "$(dotnet|9.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -4772,7 +4861,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-amd64": {} } }, { @@ -4786,7 +4876,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -4801,7 +4892,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -4811,7 +4903,8 @@ "productVersion": "$(dotnet|9.0|product-version)", "sharedTags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-composite": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-composite": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite": {} }, "platforms": [ { @@ -4824,7 +4917,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-amd64": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-amd64": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-amd64": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-amd64": {} } }, { @@ -4838,7 +4932,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm32v7": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm32v7": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm32v7": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-arm32v7": {} }, "variant": "v7" }, @@ -4853,7 +4948,8 @@ "osVersion": "alpine3.21", "tags": { "$(dotnet|9.0|fixed-tag)-alpine3.21-composite-arm64v8": {}, - "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm64v8": {} + "$(dotnet|9.0|minor-tag)-alpine3.21-composite-arm64v8": {}, + "$(dotnet|9.0|minor-tag)-alpine-composite-arm64v8": {} }, "variant": "v8" } @@ -5543,6 +5639,24 @@ } ] }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.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": {} + } + } + ] + }, { "productVersion": "$(dotnet|9.0|product-version)", "platforms": [ @@ -5578,6 +5692,24 @@ } } ] + }, + { + "productVersion": "$(dotnet|9.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:runtime)" + }, + "dockerfile": "src/aspnet/9.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": {} + } + } + ] } ] }, @@ -5658,8 +5790,7 @@ "productVersion": "$(sdk|8.0|product-version)", "sharedTags": { "$(sdk|8.0|fixed-tag)-alpine3.20": {}, - "$(sdk|8.0|minor-tag)-alpine3.20": {}, - "$(sdk|8.0|minor-tag)-alpine": {} + "$(sdk|8.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -5672,8 +5803,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.20-amd64": {}, - "$(sdk|8.0|minor-tag)-alpine3.20-amd64": {}, - "$(sdk|8.0|minor-tag)-alpine-amd64": {} + "$(sdk|8.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -5687,8 +5817,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(sdk|8.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(sdk|8.0|minor-tag)-alpine-arm32v7": {} + "$(sdk|8.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -5703,8 +5832,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(sdk|8.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(sdk|8.0|minor-tag)-alpine-arm64v8": {} + "$(sdk|8.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -5714,7 +5842,8 @@ "productVersion": "$(sdk|8.0|product-version)", "sharedTags": { "$(sdk|8.0|fixed-tag)-alpine3.21": {}, - "$(sdk|8.0|minor-tag)-alpine3.21": {} + "$(sdk|8.0|minor-tag)-alpine3.21": {}, + "$(sdk|8.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -5727,7 +5856,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.21-amd64": {}, - "$(sdk|8.0|minor-tag)-alpine3.21-amd64": {} + "$(sdk|8.0|minor-tag)-alpine3.21-amd64": {}, + "$(sdk|8.0|minor-tag)-alpine-amd64": {} } }, { @@ -5741,7 +5871,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(sdk|8.0|minor-tag)-alpine3.21-arm32v7": {} + "$(sdk|8.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(sdk|8.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -5756,7 +5887,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|8.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(sdk|8.0|minor-tag)-alpine3.21-arm64v8": {} + "$(sdk|8.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(sdk|8.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -5970,6 +6102,24 @@ } ] }, + { + "productVersion": "$(sdk|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/8.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(sdk|8.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(sdk|8.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, { "productVersion": "$(sdk|8.0|product-version)", "platforms": [ @@ -6006,6 +6156,24 @@ } ] }, + { + "productVersion": "$(sdk|8.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/8.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(sdk|8.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(sdk|8.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] + }, { "productVersion": "$(sdk|9.0|product-version)", "sharedTags": { @@ -6065,8 +6233,7 @@ "productVersion": "$(sdk|9.0|product-version)", "sharedTags": { "$(sdk|9.0|fixed-tag)-alpine3.20": {}, - "$(sdk|9.0|minor-tag)-alpine3.20": {}, - "$(sdk|9.0|minor-tag)-alpine": {} + "$(sdk|9.0|minor-tag)-alpine3.20": {} }, "platforms": [ { @@ -6079,8 +6246,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.20-amd64": {}, - "$(sdk|9.0|minor-tag)-alpine3.20-amd64": {}, - "$(sdk|9.0|minor-tag)-alpine-amd64": {} + "$(sdk|9.0|minor-tag)-alpine3.20-amd64": {} } }, { @@ -6094,8 +6260,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.20-arm32v7": {}, - "$(sdk|9.0|minor-tag)-alpine3.20-arm32v7": {}, - "$(sdk|9.0|minor-tag)-alpine-arm32v7": {} + "$(sdk|9.0|minor-tag)-alpine3.20-arm32v7": {} }, "variant": "v7" }, @@ -6110,8 +6275,7 @@ "osVersion": "alpine3.20", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.20-arm64v8": {}, - "$(sdk|9.0|minor-tag)-alpine3.20-arm64v8": {}, - "$(sdk|9.0|minor-tag)-alpine-arm64v8": {} + "$(sdk|9.0|minor-tag)-alpine3.20-arm64v8": {} }, "variant": "v8" } @@ -6121,7 +6285,8 @@ "productVersion": "$(sdk|9.0|product-version)", "sharedTags": { "$(sdk|9.0|fixed-tag)-alpine3.21": {}, - "$(sdk|9.0|minor-tag)-alpine3.21": {} + "$(sdk|9.0|minor-tag)-alpine3.21": {}, + "$(sdk|9.0|minor-tag)-alpine": {} }, "platforms": [ { @@ -6134,7 +6299,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.21-amd64": {}, - "$(sdk|9.0|minor-tag)-alpine3.21-amd64": {} + "$(sdk|9.0|minor-tag)-alpine3.21-amd64": {}, + "$(sdk|9.0|minor-tag)-alpine-amd64": {} } }, { @@ -6148,7 +6314,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.21-arm32v7": {}, - "$(sdk|9.0|minor-tag)-alpine3.21-arm32v7": {} + "$(sdk|9.0|minor-tag)-alpine3.21-arm32v7": {}, + "$(sdk|9.0|minor-tag)-alpine-arm32v7": {} }, "variant": "v7" }, @@ -6163,7 +6330,8 @@ "osVersion": "alpine3.21", "tags": { "$(sdk|9.0|fixed-tag)-alpine3.21-arm64v8": {}, - "$(sdk|9.0|minor-tag)-alpine3.21-arm64v8": {} + "$(sdk|9.0|minor-tag)-alpine3.21-arm64v8": {}, + "$(sdk|9.0|minor-tag)-alpine-arm64v8": {} }, "variant": "v8" } @@ -6294,6 +6462,24 @@ } ] }, + { + "productVersion": "$(sdk|9.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/9.0/nanoserver-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "nanoserver-ltsc2025", + "tags": { + "$(sdk|9.0|fixed-tag)-nanoserver-ltsc2025": {}, + "$(sdk|9.0|minor-tag)-nanoserver-ltsc2025": {} + } + } + ] + }, { "productVersion": "$(sdk|9.0|product-version)", "platforms": [ @@ -6329,6 +6515,24 @@ } } ] + }, + { + "productVersion": "$(sdk|9.0|product-version)", + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/sdk/9.0/windowsservercore-ltsc2025/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/sdk/Dockerfile.windows", + "os": "windows", + "osVersion": "windowsservercore-ltsc2025", + "tags": { + "$(sdk|9.0|fixed-tag)-windowsservercore-ltsc2025": {}, + "$(sdk|9.0|minor-tag)-windowsservercore-ltsc2025": {} + } + } + ] } ] }, @@ -6356,10 +6560,8 @@ "sharedTags": { "$(monitor|8.0|fixed-tag)-ubuntu-chiseled": {}, "$(monitor|8.0|minor-tag)-ubuntu-chiseled": {}, - "$(monitor|8|major-tag)-ubuntu-chiseled": {}, "$(monitor|8.0|fixed-tag)": {}, - "$(monitor|8.0|minor-tag)": {}, - "$(monitor|8|major-tag)": {} + "$(monitor|8.0|minor-tag)": {} }, "platforms": [ { @@ -6372,8 +6574,7 @@ "osVersion": "jammy-chiseled", "tags": { "$(monitor|8.0|fixed-tag)-ubuntu-chiseled-amd64": {}, - "$(monitor|8.0|minor-tag)-ubuntu-chiseled-amd64": {}, - "$(monitor|8|major-tag)-ubuntu-chiseled-amd64": {} + "$(monitor|8.0|minor-tag)-ubuntu-chiseled-amd64": {} } }, { @@ -6387,8 +6588,7 @@ "osVersion": "jammy-chiseled", "tags": { "$(monitor|8.0|fixed-tag)-ubuntu-chiseled-arm64v8": {}, - "$(monitor|8.0|minor-tag)-ubuntu-chiseled-arm64v8": {}, - "$(monitor|8|major-tag)-ubuntu-chiseled-arm64v8": {} + "$(monitor|8.0|minor-tag)-ubuntu-chiseled-arm64v8": {} }, "variant": "v8" } @@ -6398,8 +6598,7 @@ "productVersion": "$(monitor|8.0|product-version)", "sharedTags": { "$(monitor|8.0|fixed-tag)-cbl-mariner-distroless": {}, - "$(monitor|8.0|minor-tag)-cbl-mariner-distroless": {}, - "$(monitor|8|major-tag)-cbl-mariner-distroless": {} + "$(monitor|8.0|minor-tag)-cbl-mariner-distroless": {} }, "platforms": [ { @@ -6412,8 +6611,7 @@ "osVersion": "cbl-mariner2.0-distroless", "tags": { "$(monitor|8.0|fixed-tag)-cbl-mariner-distroless-amd64": {}, - "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-amd64": {}, - "$(monitor|8|major-tag)-cbl-mariner-distroless-amd64": {} + "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-amd64": {} } }, { @@ -6427,7 +6625,89 @@ "osVersion": "cbl-mariner2.0-distroless", "tags": { "$(monitor|8.0|fixed-tag)-cbl-mariner-distroless-arm64v8": {}, - "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": {}, + "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(monitor|8.1|product-version)", + "sharedTags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled": {}, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled": {}, + "$(monitor|8|major-tag)-ubuntu-chiseled": {}, + "$(monitor|8.1|fixed-tag)": {}, + "$(monitor|8.1|minor-tag)": {}, + "$(monitor|8|major-tag)": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/monitor-base/8.1/ubuntu-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/monitor-base/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled-amd64": {}, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled-amd64": {}, + "$(monitor|8|major-tag)-ubuntu-chiseled-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/monitor-base/8.1/ubuntu-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/monitor-base/Dockerfile.linux", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled-arm64v8": {}, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled-arm64v8": {}, + "$(monitor|8|major-tag)-ubuntu-chiseled-arm64v8": {} + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(monitor|8.1|product-version)", + "sharedTags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless": {}, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless": {}, + "$(monitor|8|major-tag)-cbl-mariner-distroless": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/monitor-base/8.1/cbl-mariner-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/monitor-base/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless-amd64": {}, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless-amd64": {}, + "$(monitor|8|major-tag)-cbl-mariner-distroless-amd64": {} + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:aspnet)" + }, + "dockerfile": "src/monitor-base/8.1/cbl-mariner-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/monitor-base/Dockerfile.linux", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless-arm64v8": {}, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless-arm64v8": {}, "$(monitor|8|major-tag)-cbl-mariner-distroless-arm64v8": {} }, "variant": "v8" @@ -6499,10 +6779,8 @@ "sharedTags": { "$(monitor|8.0|fixed-tag)-ubuntu-chiseled": {}, "$(monitor|8.0|minor-tag)-ubuntu-chiseled": {}, - "$(monitor|8|major-tag)-ubuntu-chiseled": {}, "$(monitor|8.0|fixed-tag)": {}, - "$(monitor|8.0|minor-tag)": {}, - "$(monitor|8|major-tag)": {} + "$(monitor|8.0|minor-tag)": {} }, "platforms": [ { @@ -6519,9 +6797,6 @@ }, "$(monitor|8.0|minor-tag)-ubuntu-chiseled-amd64": { "docType": "Undocumented" - }, - "$(monitor|8|major-tag)-ubuntu-chiseled-amd64": { - "docType": "Undocumented" } } }, @@ -6540,9 +6815,6 @@ }, "$(monitor|8.0|minor-tag)-ubuntu-chiseled-arm64v8": { "docType": "Undocumented" - }, - "$(monitor|8|major-tag)-ubuntu-chiseled-arm64v8": { - "docType": "Undocumented" } }, "variant": "v8" @@ -6553,8 +6825,7 @@ "productVersion": "$(monitor|8.0|product-version)", "sharedTags": { "$(monitor|8.0|fixed-tag)-cbl-mariner-distroless": {}, - "$(monitor|8.0|minor-tag)-cbl-mariner-distroless": {}, - "$(monitor|8|major-tag)-cbl-mariner-distroless": {} + "$(monitor|8.0|minor-tag)-cbl-mariner-distroless": {} }, "platforms": [ { @@ -6571,9 +6842,6 @@ }, "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-amd64": { "docType": "Undocumented" - }, - "$(monitor|8|major-tag)-cbl-mariner-distroless-amd64": { - "docType": "Undocumented" } } }, @@ -6592,6 +6860,110 @@ }, "$(monitor|8.0|minor-tag)-cbl-mariner-distroless-arm64v8": { "docType": "Undocumented" + } + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(monitor|8.1|product-version)", + "sharedTags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled": {}, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled": {}, + "$(monitor|8|major-tag)-ubuntu-chiseled": {}, + "$(monitor|8.1|fixed-tag)": {}, + "$(monitor|8.1|minor-tag)": {}, + "$(monitor|8|major-tag)": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:monitor-base)" + }, + "dockerfile": "src/monitor/8.1/ubuntu-chiseled/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/monitor/Dockerfile.linux.extensions", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled-amd64": { + "docType": "Undocumented" + }, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled-amd64": { + "docType": "Undocumented" + }, + "$(monitor|8|major-tag)-ubuntu-chiseled-amd64": { + "docType": "Undocumented" + } + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:monitor-base)" + }, + "dockerfile": "src/monitor/8.1/ubuntu-chiseled/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/monitor/Dockerfile.linux.extensions", + "os": "linux", + "osVersion": "jammy-chiseled", + "tags": { + "$(monitor|8.1|fixed-tag)-ubuntu-chiseled-arm64v8": { + "docType": "Undocumented" + }, + "$(monitor|8.1|minor-tag)-ubuntu-chiseled-arm64v8": { + "docType": "Undocumented" + }, + "$(monitor|8|major-tag)-ubuntu-chiseled-arm64v8": { + "docType": "Undocumented" + } + }, + "variant": "v8" + } + ] + }, + { + "productVersion": "$(monitor|8.1|product-version)", + "sharedTags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless": {}, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless": {}, + "$(monitor|8|major-tag)-cbl-mariner-distroless": {} + }, + "platforms": [ + { + "buildArgs": { + "REPO": "$(Repo:monitor-base)" + }, + "dockerfile": "src/monitor/8.1/cbl-mariner-distroless/amd64", + "dockerfileTemplate": "eng/dockerfile-templates/monitor/Dockerfile.linux.extensions", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless-amd64": { + "docType": "Undocumented" + }, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless-amd64": { + "docType": "Undocumented" + }, + "$(monitor|8|major-tag)-cbl-mariner-distroless-amd64": { + "docType": "Undocumented" + } + } + }, + { + "architecture": "arm64", + "buildArgs": { + "REPO": "$(Repo:monitor-base)" + }, + "dockerfile": "src/monitor/8.1/cbl-mariner-distroless/arm64v8", + "dockerfileTemplate": "eng/dockerfile-templates/monitor/Dockerfile.linux.extensions", + "os": "linux", + "osVersion": "cbl-mariner2.0-distroless", + "tags": { + "$(monitor|8.1|fixed-tag)-cbl-mariner-distroless-arm64v8": { + "docType": "Undocumented" + }, + "$(monitor|8.1|minor-tag)-cbl-mariner-distroless-arm64v8": { + "docType": "Undocumented" }, "$(monitor|8|major-tag)-cbl-mariner-distroless-arm64v8": { "docType": "Undocumented" diff --git a/manifest.versions.json b/manifest.versions.json index f289be5a7d..cfff26a34d 100644 --- a/manifest.versions.json +++ b/manifest.versions.json @@ -5,7 +5,8 @@ "base-url|public|preview|main": "$(base-url|public|maintenance|main)", "base-url|public|preview|nightly": "https://ci.dot.net/public", - "alpine|floating-tag-version": "alpine3.20", + "alpine|floating-tag-version": "alpine3.21", + "alpine|10.0|floating-tag-version": "$(alpine|floating-tag-version)", "alpine|9.0|floating-tag-version": "$(alpine|floating-tag-version)", "alpine|8.0|floating-tag-version": "$(alpine|floating-tag-version)", @@ -19,37 +20,37 @@ "aspire-dashboard|9.0|base-url|main": "$(base-url|public|preview|nightly)", "aspire-dashboard|9.0|base-url|nightly": "$(base-url|public|preview|nightly)", - "aspnet|8.0|build-version": "8.0.12", - "aspnet|8.0|linux-musl|x64|sha": "a7d3bae2da7b4da946851d36196d41053593af4138d1ae020ce4b9b141c7e84d53446cb0891e127983abd5e7c011d7c9d2039227dca9409d6faeb6383583389a", - "aspnet|8.0|linux-musl|arm|sha": "174189c851eb178dc7b5624b220b0a0df8acbf41c4cd73e155a9d1efd2e6ad2ad77ac719f51edbba4984e4be90763a26eebbf958c1a77ae32e26f728016511b6", - "aspnet|8.0|linux-musl|arm64|sha": "77ae48a34d3b9478aa11b8077f7b1d6f5ea47699f92e3dc29d05cccd16b25e023587a960d9bc2a5c25939cbb7494102ce7ae7fd6c09f597914981a5e7ed92716", - "aspnet|8.0|linux|arm|sha": "144bd7d4502537a2806d17ee1612e4b3c262766c5d83da8b1031ca61f2a1eabd1bba5a531b1bfcafab999f084db961c9795804de651d87f81dd6d64976335948", - "aspnet|8.0|linux|x64|sha": "03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83", - "aspnet|8.0|linux|arm64|sha": "9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531", - "aspnet|8.0|win|x64|sha": "28a3d2cde0d55da3c6943d707b2744cbf9b225bf3e66f8dbb18aba5196725bd7048f4fba5af219ae0a7aef31a4ff7e309396518ee7dc0eb2a5c2a61955d5b10c", - - "aspnet-composite|8.0|linux|x64|sha": "2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd", - "aspnet-composite|8.0|linux|arm|sha": "7833ebecd098e2009103bab89dd6607135c6fa83dab11d206bf74aa696e2a71ab51d23a83673860c14301448651a54e932bb93373f4ad2bf8ddd04ddb20efbd2", - "aspnet-composite|8.0|linux|arm64|sha": "68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637", - "aspnet-composite|8.0|linux-musl|x64|sha": "6ca899516f24c3173bdc467dee009ddabb3a78d16a17ed4295b6ce24f85734ac99cc70dde57a83f66d28ceb1c953ba6a7804bd89b6b613b915346934c0dc712d", - "aspnet-composite|8.0|linux-musl|arm|sha": "44b22ee55213537adfeaed8c94bf295769ac96d3d2bc244cb20811cf4aa7c215f6c2e31856a2c100c4fb1eb0f9080f07c57fcea7e985232d32c0520e7c02449a", - "aspnet-composite|8.0|linux-musl|arm64|sha": "44707162db307159e8ff643e50d630997b86043cd4e61059129fed20ac6b88c2a5d61244f6da40d93f4681e1fc4cc844174d62e38a028042d520b963264ab1de", - - "aspnet|9.0|build-version": "9.0.1", - "aspnet|9.0|linux-musl|x64|sha": "d3f609184959849f7524fdfb55c5cf9a8391d0a773483aa6659d9baa152656835f26c2fe9ba322e718a8eb7781fb996eb4ebc6953beaf6fdfb5628ef31bfc853", - "aspnet|9.0|linux-musl|arm|sha": "3ea55cc5098dc08909a385219fad1e38635f6eef6cd66ea526b92dd57f765dc348380422e5e0b9c8ade286e18e713caa4b7ff2d06a23c3fed31b8b5c91d2dc6b", - "aspnet|9.0|linux-musl|arm64|sha": "e9a7e257f6b09e48c522b725be8ab498e57189d6687f840a37ab9fe4192e985bddd99a663418c5d5d96ee7c7c2b9f70e08f786aa4a1b207548586bd3fcc3710e", - "aspnet|9.0|linux|arm|sha": "fa75d8d5ae99ade0d1ab90018839fe3f5ddc4e7b7461715caf2b0bf7a88c8e86e1d4f10ab69703d2318b289c0700846e2155746d7bb1ace3d2d12e175ab18be1", - "aspnet|9.0|linux|x64|sha": "e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613", - "aspnet|9.0|linux|arm64|sha": "e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5", - "aspnet|9.0|win|x64|sha": "613492bec0899bc451b11c572024feca2e068a471f2275b55b276c0eae85a695e2b7582b07101b9bc75e32cba6c198dc50ca65df0564e1c4c0241fe45db60c7d", - - "aspnet-composite|9.0|linux|x64|sha": "ce1034cc058d68869edacd5ed1feb8ff4a3e5a2931ee057789413da7fe17ce484ea563ab9f38a7d2c2d53d7a91d47e32680da7ed0953f81ff42b56489b8e47d0", - "aspnet-composite|9.0|linux|arm|sha": "ac2c004657e3f1c65d1b338272aecd16445b5130eab9dd1229440b0bbb29b9d2a94ed7cb4f2d5d7325dfce8b19ea64da3008403d4b18cc251781d6543bd94052", - "aspnet-composite|9.0|linux|arm64|sha": "28cafe4ca6061397a1eafb21ee0ce5fee850c4368633ca16773208620ac47a6b94f35a0890740112118743b92e6652e46e27eff0b8d6a8a053ae4fd9af62f226", - "aspnet-composite|9.0|linux-musl|x64|sha": "fff2915b8bfe74fd4d882ed2d0a2e9d82c174e6ac186cfce7b28f87ef3043145e19d9be7f60b90e9af7b6532ee75b3e527a360f2fac4574e4b248b3ce3fe4367", - "aspnet-composite|9.0|linux-musl|arm|sha": "46deba46b4458a3546da4db8118798d8baf5a230f1691c9a9745771a80f48a50c93a0ea56d0348fdbbdd9952eb397f8e1153274e0aeccb8e1d91f68f700f30cf", - "aspnet-composite|9.0|linux-musl|arm64|sha": "5de05d1c2a12a4276d788295a78484360f2a65a99dab935469696bc8588d8a23a10ccdbc777df9dc9445dda7541e33f4f583ef7b00d06cfbcdfd43339cffa809", + "aspnet|8.0|build-version": "8.0.13", + "aspnet|8.0|linux-musl|x64|sha": "f4992c2cbc8019378af0c8463d36c978caa943e53d49522037b802f7476ec9d82a6f69dfb2178f82f619bcedd6620ff0c1aba024760864eb0f73ce70c04fd8f9", + "aspnet|8.0|linux-musl|arm|sha": "20a6322409e46f064f739d3948dcfa365879d3bfc1e704ec24f74accf9c8f464ac5782eac88cebf36d6732a3d45d6eff2bb4a89e39032332288de25e41065ba0", + "aspnet|8.0|linux-musl|arm64|sha": "cec1eefebff9c3b8582417fc883cd19a5cf1741f00ed5df5e42a239398c3286f9f8e1fe6c9a65ffbd76fa95318cf23f7941f47f6132f03afbc1fafa3a48601c7", + "aspnet|8.0|linux|arm|sha": "de5a3dcfabaa7f01aaffb78b2156d9d79d614f0e52ebe619657072568ab0fc47f4d53e7b577a7622392502cd3a739400af6c26999247cc50c29813b6a94cfcd0", + "aspnet|8.0|linux|x64|sha": "7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6", + "aspnet|8.0|linux|arm64|sha": "d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3", + "aspnet|8.0|win|x64|sha": "2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8", + + "aspnet-composite|8.0|linux|x64|sha": "671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da", + "aspnet-composite|8.0|linux|arm|sha": "2867b14062806103360ff725d318611af988234fe011449b52e13a5f31464fbcd86ce2470ec84ad468663cb4a60cf693d96e9960251bf80d071c8ade57e66b3d", + "aspnet-composite|8.0|linux|arm64|sha": "942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591", + "aspnet-composite|8.0|linux-musl|x64|sha": "7c29859c689d3dfee555f6dd43ba6b9b83ba8446c6f4457ee47976cc41da0d53f889283b063786426d485f2751ccc2a58b6a0dcc6b18309961ae02ee67d10c63", + "aspnet-composite|8.0|linux-musl|arm|sha": "9e961a15e8df2d6acb58cf246d299905e48b3280539b54d616cf9f550d5e66b31f9737e90f52d323bfef57753404b22e4a2d1c5f72db2525d3cc6de0d828eb89", + "aspnet-composite|8.0|linux-musl|arm64|sha": "f5710cc1d91a284a13f553fa013d651a00a90219514391f55632a10093eab42153deb0557ab5bb60cbe013ea6ba7c58cf309442f13fc2191f92103aeb219d008", + + "aspnet|9.0|build-version": "9.0.2", + "aspnet|9.0|linux-musl|x64|sha": "ff070ebfabb1fa776df69ce6fb1e6990069ff6e4b795dd0ea0ee028dcceaa278500f695c9ba6b6c839310ee0d9aaca398e079ebd9081ec36c1e2d5a63c5bc109", + "aspnet|9.0|linux-musl|arm|sha": "f96a66442f7db558e40491f1deba42a58b697286a8c592f20b9b17006040544c3cde3851dbe9d5dd0be4ff68666575a10a8e1225dc97069081a66726a9f0fc8b", + "aspnet|9.0|linux-musl|arm64|sha": "5e74871d9133c52389559eb34ee82ed7b8ff2ee990857ef80ebf2b27c405e0dee1ae951c9a87355168901d98acfbe37bd6d516d6a0b4f5f495c58326243c0630", + "aspnet|9.0|linux|arm|sha": "5576751ea9414449add100cb60c917f72305209dc831ecd3698b8ef6a69e2a802850148b33caf5a05d049be66b19c7404531ea6ecd643cc1fd6ae61179e1249b", + "aspnet|9.0|linux|x64|sha": "48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b", + "aspnet|9.0|linux|arm64|sha": "aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6", + "aspnet|9.0|win|x64|sha": "0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e", + + "aspnet-composite|9.0|linux|x64|sha": "b819c4421c1110ecadfa4f1e790efb14d9788e7456be016d26023b993dda40c47f22e356483c5c6f00d0941e0daea8cf2c5fe6aa405c7422ec911a46b81b552c", + "aspnet-composite|9.0|linux|arm|sha": "9008fec9c3cc98b9608eb6635f73cb86d37cb721d6f4ba3dbb8eaee4d7adacf832cbef6c223320895656743a82b5a81209c78936973ba469e551dbf05bc40ce9", + "aspnet-composite|9.0|linux|arm64|sha": "8387f486d692f1299cc08f33c57e647000f986e6a69ccb4b426b6a207be28a0b5b6e636bd0d91fa2d9452d0c0bb00e48179e965612b7f66641884430675130e9", + "aspnet-composite|9.0|linux-musl|x64|sha": "7257c9093bb4fe4ce09e2169ccaa8500dd23008464aab7ae50f57e7ec187d8a0a3fad8c8d67fa0561801bce59300839f0d2044b0b4232b0e320d1305662fa465", + "aspnet-composite|9.0|linux-musl|arm|sha": "9240868535b83a81f2dff1226be734d5f4d31095988c286455679e1b56a2ba7a56cb7d30d4c6f74d645024ed2526a2d5a2a06dae4194b2ffc2d86a8fbf2a42ef", + "aspnet-composite|9.0|linux-musl|arm64|sha": "cde805a00d9db6de6e57fb573f392df8bcd2f21ef029a6ac22f059b85af635cd4553d9d749d6391b637a9958f3cea3f6430b3c575d217c428758330f864e2841", "chisel|latest|x64|url": "https://github.com/canonical/chisel/releases/download/v1.0.0/chisel_v1.0.0_linux_amd64.tar.gz", "chisel|latest|arm|url": "https://github.com/canonical/chisel/releases/download/v1.0.0/chisel_v1.0.0_linux_arm.tar.gz", @@ -71,13 +72,13 @@ "chisel|8.0|arm|sha384": "$(chisel|latest|arm|sha384)", "chisel|8.0|arm64|sha384": "$(chisel|latest|arm64|sha384)", - "dotnet|8.0|product-version": "8.0.12", + "dotnet|8.0|product-version": "8.0.13", "dotnet|8.0|fixed-tag": "$(dotnet|8.0|product-version)", "dotnet|8.0|minor-tag": "8.0", "dotnet|8.0|base-url|main": "$(base-url|public|maintenance|main)", "dotnet|8.0|base-url|nightly": "$(base-url|public|maintenance|nightly)", - "dotnet|9.0|product-version": "9.0.1", + "dotnet|9.0|product-version": "9.0.2", "dotnet|9.0|fixed-tag": "$(dotnet|9.0|product-version)", "dotnet|9.0|minor-tag": "9.0", "dotnet|9.0|base-url|main": "$(base-url|public|maintenance|main)", @@ -97,54 +98,67 @@ "libssl|jammy": "3", "libssl|noble": "3t64", - "mingit|latest|x64|url": "https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.1/MinGit-2.47.1-64-bit.zip", - "mingit|latest|x64|sha": "50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a", + "mingit|latest|x64|url": "https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.2/MinGit-2.47.1.2-64-bit.zip", + "mingit|latest|x64|sha": "5bafb35dfb249b89d726b37824eeb5022379f0e51f5fbf9c29f49bef57e85b42", "mingit|8.0|x64|url": "$(mingit|latest|x64|url)", "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)", - "monitor|8.0|build-version": "8.0.7", - "monitor|8.0|product-version": "8.0.7", + "monitor|8.0|build-version": "8.0.8", + "monitor|8.0|product-version": "8.0.8", "monitor|8.0|fixed-tag": "$(monitor|8.0|product-version)", "monitor|8.0|minor-tag": "8.0", "monitor|8|major-tag": "8", "monitor|8.0|base-url|main": "$(base-url|public|maintenance|main)", "monitor|8.0|base-url|nightly": "$(base-url|public|preview|nightly)", - "monitor-base|8.0|linux|x64|sha": "c5a7a88c2f288e8ce307cfe6c012bb8772249bcecee7613a6ceae1e1c6978572ad78208f6d03b3a401411a3f3ea56d128e20ee4ee5a9ccf94f111602c6652594", - "monitor-base|8.0|linux|arm64|sha": "9a6746d1158e87f22922956c8959b6b8ea72d567c44a2709a09c7e7a1bacf6327792124bedcdead26b035ddd912ee7acc8e10f87fdccc68b955e861dfc5da12e", - "monitor-ext-azureblobstorage|8.0|linux|x64|sha": "2dd977feb78c424e55ffc400a08afc66de45c11ef675ba31f9e3c8a74cb06d658638023ae19adee7af384fab3c15a6b2bcd91058f9dddaea3d78bf16422f2779", - "monitor-ext-azureblobstorage|8.0|linux|arm64|sha": "d0bf4c2bf5959d4b7925a2246a332c59903de50d2f91ae0e80525d5a70d37ba5f59acda9971e6b80add3c8143c2b428b32e00c3002c7a851ee10ee1bfdb8d6ad", - "monitor-ext-s3storage|8.0|linux|x64|sha": "e3debc9dde46bc8234a44d5ef2d1be7e5e759079bb80b942b803deeb5d64c30a047aa8dfa5eb94f00d846f919f6a05999ac82fb2dbbc896a865b10a5c37a085e", - "monitor-ext-s3storage|8.0|linux|arm64|sha": "42763e716154a054d338eb55c4a4f0dea801282e0f6a43d6de2a695448f4767e45b446797ca5a691c0ad48f77973285c2cc51aefe439e7ec791b8e2bfd73e724", - - "monitor|9.0|build-version": "9.0.1", - "monitor|9.0|product-version": "9.0.1", + "monitor-base|8.0|linux|x64|sha": "1761d0754ed60014cca4e5c76d2c0abb2e2aaea91f22800c3411397fbde012120610abb5c46398f841031b2bfeb16d59ef0ab81d49dccc1a9648d6a6c06a6c15", + "monitor-base|8.0|linux|arm64|sha": "095888e19feb703460cf920e15d7044d689f5f928ea3c00083f14787d471393db3bceedb8b7c63db154340346ba1753350fe62831598c2942588ba7cc1cd91f0", + "monitor-ext-azureblobstorage|8.0|linux|x64|sha": "457c29126ff164ac06e82525d4c54835f263f5447d2ab65a8c228181e0de3f47291668f0f2c3ff204c462f5110d6ed053a5d169231b17af9e959a2ffb745bd23", + "monitor-ext-azureblobstorage|8.0|linux|arm64|sha": "d42e7bbf900f5432e76dae983f28f3bfbd0cb1eab0433197379edaee1fe013ad8d2f78df7502476f589a234521e8b1c8fd873de048a0d92eaa87f4f8b4cfc357", + "monitor-ext-s3storage|8.0|linux|x64|sha": "fa6b0db58bf70e1c242703fb3f555ad0754b3fe0829ab539b1ad06c58c47287a3f02fc11f2f23f13f4a94400eaa157c3ef159d19a9d2b327f2963d5a1bb3ef64", + "monitor-ext-s3storage|8.0|linux|arm64|sha": "0fcd310d795938c96d2c8b30fc4b705207b9e00f6463914d9d55e8640796861d719f71359b2b09d92fc1fe103307ed6fb4a3fe261e22b17df39ccee6607d42dc", + + "monitor|8.1|build-version": "8.1.0", + "monitor|8.1|product-version": "8.1.0", + "monitor|8.1|fixed-tag": "$(monitor|8.1|product-version)", + "monitor|8.1|minor-tag": "8.1", + "monitor|8.1|base-url|main": "$(base-url|public|maintenance|main)", + "monitor|8.1|base-url|nightly": "$(base-url|public|preview|nightly)", + "monitor-base|8.1|linux|x64|sha": "e42d7d15c137b7d9a53fca4225014ae13a01314346ab76cd9a60eadace1c9e71be5a1e4dc00808929f33fca43bda638f1810e0e114a330e317a45ac1d3028b0c", + "monitor-base|8.1|linux|arm64|sha": "156bef1ab4790423155a4a9d01b94769b1e506f3f571590ef90cef1527beaeb0927bdf2c18f29192abd9873a39a7252930c52567f8c79b1e1db0c5574c1e583c", + "monitor-ext-azureblobstorage|8.1|linux|x64|sha": "74f7ab9178cfc313344eed149ef883254dba17f9ee41547e58a0c121d4943342963d00d6133fccf1244bd80c16cf6069b8873532a95bf04bff38fed44bc2978a", + "monitor-ext-azureblobstorage|8.1|linux|arm64|sha": "77f2ba22b6e412020296b9d28b3dde20dba514902a584fbe8f6eef04cdd23a9fb3a56bea4808aec6be8cc86b02c6c7f2925102b201cd7413e99d370715e4fbba", + "monitor-ext-s3storage|8.1|linux|x64|sha": "750b86927b6f0d9e87d184552c244158302b231e87ca3ea84452eb035287602c666396a4fab8e337090c9cf036f6bc58551236f71a2eecdeac12cfce702cdee0", + "monitor-ext-s3storage|8.1|linux|arm64|sha": "5142d86c818aa9de4e84b71e7571bfd8bc61607bb8d5863413ef4a5e15eff88f0ef44e27464062bf31c4e7704c256ad272d8151b79392cfee93a265775966202", + + "monitor|9.0|build-version": "9.0.2", + "monitor|9.0|product-version": "9.0.2", "monitor|9.0|fixed-tag": "$(monitor|9.0|product-version)", "monitor|9.0|minor-tag": "9.0", "monitor|9|major-tag": "9", "monitor|9.0|base-url|main": "$(base-url|public|maintenance|main)", "monitor|9.0|base-url|nightly": "$(base-url|public|preview|nightly)", - "monitor-base|9.0|linux|x64|sha": "8ab4755e561e052f0ad4e1bbd20fb8f254fd4adc7b700d8f6a7a2472ff6d5bf9a7632ac0118cd0ef3b70587360a60975c7b44fbcca5e5655dfa2db225075ce4f", - "monitor-base|9.0|linux|arm64|sha": "a3d6971bf58cf7db5498326a62dccf9aa25e85c2eb82b65148626c69406d11ab51dad9e49081b73a1eefbfed5396baf026148f73811be53579657e59994e7aff", - "monitor-ext-azureblobstorage|9.0|linux|x64|sha": "982f2acab2b8018a5ff88ca87ad816ce7cdf4a080ca40da298ad87b2fa44cbb0c24f469a72b92e78f58bd4b2af666883db7da181094c9f12b39354ef6a9d6809", - "monitor-ext-azureblobstorage|9.0|linux|arm64|sha": "05cacb948c98e24849a0344c23adcd576129c797a5639b544d46fd6b5925469f27fe692c85ca4bfffd872f65a9c1261ffb694ff41675ec4881f9de2b5342a0f0", - "monitor-ext-s3storage|9.0|linux|x64|sha": "d048d8828ddd8b7a9faca8ddb713cb252ad56f713be78465a51d2ede30135257df6bc7db9a5014809a960243807f91a9cd8eca4e20bdd5fd87aa53daecf2773a", - "monitor-ext-s3storage|9.0|linux|arm64|sha": "2b57d6908e828e8316d8a3aa6c21037954cf4e9a606ed2d9b16e19bdb5e0c74b69b87c2e9539d47b810a0967a75bbec1269264d7799f47a174f54018afa2fe1d", - - "powershell|8.0|build-version": "7.4.6", - "powershell|8.0|Linux.Alpine|sha": "d994832c889774de7f8b8d894b20a050e3375a48e148f09d7ed9a80db05336e48549fa13d7ec83589e9347b78929c7852f4ed3e26f42400943fd367a48efde75", - "powershell|8.0|Linux|arm32|sha": "94c71ff6a680c4141c3e92812c4a52a2debe9106e4deb2f7f6b375c7c4086859d783b4c0687a912c85f24a3d442d121c31a51b45d871679e657781d6bcc09e45", - "powershell|8.0|Linux|arm64|sha": "b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1", - "powershell|8.0|Linux|x64|sha": "676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d", - "powershell|8.0|Windows|x64|sha": "29c3eb019caf85688b5aa1c706eef3a7eef14381047a5ee59cc79f3aeab91c8610ec505df4528fc24c8e287606ed486d28a0388e8cc69fefc8e37d47eb30db90", - - "powershell|9.0|build-version": "7.5.0-rc.1", - "powershell|9.0|Linux.Alpine|sha": "3e8a7b4309b62602e1d81fe32bac245a1e9807a53dc564d6ae956126bc313be4a7e64e6b1e33b81d629f4da245ec12496a4cd2f03aeb57e534a46267252360a1", - "powershell|9.0|Linux|arm32|sha": "10870b04f83d5497f64d56edc6470919741b2e41a793db8ce6d16f34946baaa693c9af82e9a8a2408ebe490523a20a395e3d3a5db5f122e81d645a8a0a855ae6", - "powershell|9.0|Linux|arm64|sha": "51feb775e9a256b651e357b8834b02cd2c86d168afb010e61ee1a151564b72b1ab7ba32bc5e5041042a63ccb473aa15ff3e6bda802debcbe2d486f4f782b4617", - "powershell|9.0|Linux|x64|sha": "ec1f49c2b6e4c1768f43eed4a0e501d8280324bb11d0afc1025633cabb5718523cf6560b8abab027676330ed3dcfeaf09986ce7b3516aa62dd1bdb1e8989612a", - "powershell|9.0|Windows|x64|sha": "105c310b314bf3175440ee06273d800f75c63ba3780496b3e704803395162c61c9b819428adb7e4ec6ad6281a0c0f4d11f518dff0c24d0e0d17ba3f0710a6d65", + "monitor-base|9.0|linux|x64|sha": "6b2c21a5bccf45d1fd1e0646b35c91c4655ef1d3711c1e5a68681cb56f2994b5a8b6f3fbf132b0668a0a6a904ed16a32c98983d2dc18d618acb201bb0d12ca78", + "monitor-base|9.0|linux|arm64|sha": "27b3783b2dd0c028ce080f2a4a3159b625e38cc62b1707bfedf8a3ff1415c310329af191aa4ba46922e76cb7ad6fd85dc425ba2d31c2d3b8b687cb1db9d627f8", + "monitor-ext-azureblobstorage|9.0|linux|x64|sha": "27214abc1d89fac9557fcdc017278bf88425d70fe62515b0cedbc4ce1f7f849dff8e799560deac68f886c028285b930411a66c7a930ff04d72b8cdfe831f99a7", + "monitor-ext-azureblobstorage|9.0|linux|arm64|sha": "b2051d357b3dbea9fdd5d17d6b99d69c5aa149293c740d0141c5c7a5327dd1df0f0547f369c6248cb9db297b8033b7ecd2870db443a4c9fdcbda36d5e7208f6b", + "monitor-ext-s3storage|9.0|linux|x64|sha": "4dfc3b612b4b8389216e232144b61ff82a1e1da9a7414b2d21bf083ad38a980569f69c605919deeac8af05188254fcfc7651d3606845405d45af2d0f5a96b5bd", + "monitor-ext-s3storage|9.0|linux|arm64|sha": "06d9c1997b298c68132f5536a7b517e6c8422b9d09e75a90603b6c18abd7f851625ba8b162a761f6575fcb06b47e4ac11e55e7d494f744e1594638c7dcbb474c", + + "powershell|8.0|build-version": "7.4.7", + "powershell|8.0|Linux.Alpine|sha": "9c5fbb87edf9f1b3da05beeeacd69ae361cb60b0eb16079c26a5c6b477a17e4ed1deef31cdb23de43c959eae2a2731cf16188b491db2ad5d398276ca0e71faaf", + "powershell|8.0|Linux|arm32|sha": "727c67c3d29e3f3216366b5e2487b14baf926ab36da58833aecb84d663e4a6f61d2c073d7a99f7b05294cea71f3d37c90bbd237cd4cad6491dd8031544c16841", + "powershell|8.0|Linux|arm64|sha": "6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6", + "powershell|8.0|Linux|x64|sha": "3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba", + "powershell|8.0|Windows|x64|sha": "fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c", + + "powershell|9.0|build-version": "7.5.0", + "powershell|9.0|Linux.Alpine|sha": "89dcede870db724ec96e0ddc1386b687c25022fdcecf76dced2f6aec34586a91600df59c2f99c0bd056fb91ea6dfae8e6c372639f37b3f7e5b1d49c41fe77840", + "powershell|9.0|Linux|arm32|sha": "3e87ac49de17a2eb35b0fa336b04fe6d7ef1ee2557f01d553d8eb54e45de41d8b48ceb1b49da9e046a31ab6b2f453a015a3554074f483c8e80e1a8834197ac34", + "powershell|9.0|Linux|arm64|sha": "42501dd83f75a5e6d73d41d52c010a243e3397034b6cb82385310783fe3173ae5d3ade8e80247055b8f8f4d986be8dd86c0176081fbe45faa02c3f78f6fdc78f", + "powershell|9.0|Linux|x64|sha": "997a634bf50a3e742d00badcc2ce0a4fd1e65e430c371fc276ead7634193f029e5670118c099bd2b3e6d2e06c6eb3cb00b4352c734ab3fd360dd7b79428ecb46", + "powershell|9.0|Windows|x64|sha": "44a7a9af838aa6138517024771903464ab6eabf46b1eadd6b0d7e4c2d1bbbda375c21af3e7d60a6805b0c03d2a45bd17c96f688049f03fab3877d4c73e20c278", "rocks-toolbox|latest|url": "https://raw.githubusercontent.com/canonical/rocks-toolbox", "rocks-toolbox|8.0|url": "$(rocks-toolbox|latest|url)", @@ -154,49 +168,49 @@ "rocks-toolbox|8.0|version": "$(rocks-toolbox|latest|version)", "rocks-toolbox|9.0|version": "$(rocks-toolbox|latest|version)", - "runtime|8.0|build-version": "8.0.12", - "runtime|8.0|linux-musl|x64|sha": "2a97a07e9fb2dcc8225850c9574a014f9a111147d87ded6293eb7bf26cf6bee6cc516713c02c13a08e9776dbadd583627f05e6e62daaaf96f653e28c0b37b25e", - "runtime|8.0|linux-musl|arm|sha": "ec9b034f550e807b4d4ff5b07c6c7d90959eb4d6db5d97b8b245269da6ba873fe27822491181fe34e49b6e988614640b275424a58586f022915ea48acde906b2", - "runtime|8.0|linux-musl|arm64|sha": "b369b71b483adc7cd53d3c57ccea1ed929e441582e21f31989429d31ff6bdaa0e6fe75549402a8c3cd2dddb935c18c432d2c72c486d03467f27a52e009a18963", - "runtime|8.0|linux|arm|sha": "0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0", - "runtime|8.0|linux|x64|sha": "e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481", - "runtime|8.0|linux|arm64|sha": "c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b", - "runtime|8.0|win|x64|sha": "6e08f5290183569daef70b558939246fb72930608e291c9941802a350918cca0f4ae30df0bb8fb07cd8f2b18aa4174506c9118892356dc84cd0c7fe6582c0d2d", - - "runtime|9.0|build-version": "9.0.1", - "runtime|9.0|linux-musl|x64|sha": "39bc73be712afcab41425c2e42aa5098133cf9a2080f91d4c65f274c2c6bc6f812793a17f8ed6b3a5bcabde4cc5ee5be83dc9bef9d3f3b10d79d0d3f00b4b55f", - "runtime|9.0|linux-musl|arm|sha": "ac8a7be3ab0895539813c1f67c33aa93ee72e2ac7f2d88ee3ca21f14479e11a4064cde9a7e15a2944222b8d7c2858ddd39de9f6c2d278b4129f5e3ba8b9c38e3", - "runtime|9.0|linux-musl|arm64|sha": "cf6865754e3c28b63bf4e73db95a2079028b9132ffc6bee4aa7af03ee15c7560a13d07260965833b43985d8b5e2f50a776ff17bf5343605b1c1bc239ddaf3c5c", - "runtime|9.0|linux|arm|sha": "b1cccb86da9912fcb816413718e264d899e9efc42a19fd8a6ccb8265b65ce4fe8c878d0b8d5c0633b1e0e4b2ff3ee53313a66e3f92c3b153fbdfe3044f1bcc96", - "runtime|9.0|linux|x64|sha": "d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb", - "runtime|9.0|linux|arm64|sha": "38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b", - "runtime|9.0|win|x64|sha": "30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f", - - "sdk|8.0|build-version": "8.0.405", - "sdk|8.0|product-version": "8.0.405", + "runtime|8.0|build-version": "8.0.13", + "runtime|8.0|linux-musl|x64|sha": "fac7a79de9e79ca05583acb04c086b1a573ada0895b7c730176c181f0d39da82ac2ba5426681ded6d5b1d904e97c585082cc9b56d8c5207fee3e93b88b139505", + "runtime|8.0|linux-musl|arm|sha": "a8c284406cdbbb8ef90aede0a9507deaf3cefc7966ca8de04576bbb3bae260b81b16b2441d4d4385792ecc3417ea1ab3aeceab5497f8665e70dfa55ef7e5af2b", + "runtime|8.0|linux-musl|arm64|sha": "7b469196495ed00d9cfb166558704c22ac572be11fc4df936d86912d9c306b101ba3411b68e95c8d199f86ba48caa42d9e2b068ceae27b47347dc50b7b96ad18", + "runtime|8.0|linux|arm|sha": "5d018fb50eea96f3e9a56142202ccb1c73a725219d7257b0debbeef3ef196c69b076b98dfb6f098818c0514084df33f6704bc13a478d1727b012d6ba9eea0492", + "runtime|8.0|linux|x64|sha": "8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43", + "runtime|8.0|linux|arm64|sha": "e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b", + "runtime|8.0|win|x64|sha": "e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d", + + "runtime|9.0|build-version": "9.0.2", + "runtime|9.0|linux-musl|x64|sha": "df116ef9b7f6b717b7c7f057e826c9e1f1ed0d743fa6b26e9229fc36e500ab834d19ae1ab55ebc28b1c9b8cb4a7f41c62edd08c2dd2cdcb6e912defea2810ffb", + "runtime|9.0|linux-musl|arm|sha": "38e03d8c12fa4520e311cf2d15fb2c2f0e019c7165b13fcbe58fc46914743ecea8e0ac4d914385b1430cfb5e0df3db6299424cfdccea6ffe469a681e2d9d93b7", + "runtime|9.0|linux-musl|arm64|sha": "0bb0dc7a4388c5b95d4fec9fe7ca1273f9afa502021c73eb946ed2928d6d6d0836414400f667eff30da97b83b04f66d3032c2344bb2587007b4001d75b696a16", + "runtime|9.0|linux|arm|sha": "be31b790c8a5347c1a7fb75ecbbab16c675ff5e6352561631220b94d417f19eed07220d5c3972905123704dd6bd67d00138ff42484815e0def7d8ad916a30d94", + "runtime|9.0|linux|x64|sha": "dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7", + "runtime|9.0|linux|arm64|sha": "460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef", + "runtime|9.0|win|x64|sha": "a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987", + + "sdk|8.0|build-version": "8.0.406", + "sdk|8.0|product-version": "8.0.406", "sdk|8.0|fixed-tag": "$(sdk|8.0|product-version)", "sdk|8.0|minor-tag": "$(dotnet|8.0|minor-tag)", - "sdk|8.0|linux-musl|arm|sha": "f83accb0ed45b4c9378a54c2c74fd8f559056b7b771af70ad25d62d41dd1c384b795cb89fbde68959db86883b1e89fe6749100c055f2f3089e343b2a5e1f1704", - "sdk|8.0|linux-musl|arm64|sha": "af728630dee4205f9552f52f4a06f48ddf4aff238abb32edfd01814cc0e710c139f48ef569ad90ede519564b9bc057baffb74eb60b54ec47364c51c5c1cf789c", - "sdk|8.0|linux-musl|x64|sha": "05078ffbeb35b7aadcf8927c0bf0aec6af5de4e616585deb55743080c0b34bb6e4becaa2e23c2e6c3856bc0826d5e54f96ab6983867c5b1af6307c62ecc01837", - "sdk|8.0|linux|arm|sha": "f9c422221ce1b9460e4778ee2512b8e38c78eea77e975779af03f82feb5664b94d33c57d103777839b9e772c039419df5eeaa479b55b78d70013542a87d2b602", - "sdk|8.0|linux|arm64|sha": "07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a", - "sdk|8.0|linux|x64|sha": "2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6", - "sdk|8.0|win|x64|sha": "def0b094747e609d2bafd33dc739fea1fb166b794bfd58d348bf62978d1f35606c0bd31ae2ca59ad947641acfd4eec92bb3fe1dd197ac28f2bd600ed125b5b96", - - "sdk|9.0|build-version": "9.0.102", - "sdk|9.0|product-version": "9.0.102", + "sdk|8.0|linux-musl|arm|sha": "c4338ad18ae2e0425c4e9d6d51dd266217f33e7b64754483a6eb33b81b96f6e8086314010730166211cb96cc87c9a47fb76aefc3431b03f285cdcae2119a7cbd", + "sdk|8.0|linux-musl|arm64|sha": "1961fec3fae6039134a552d19e86a0e93010fc8d5d3d4c22959eddb45a51eeb00c4703731397ffca802064d73b984a1a557ddaa68374b5a9da014e135b5ea751", + "sdk|8.0|linux-musl|x64|sha": "0c7eb2e3530f941fc1bad43de1fb08aa4d23098af47e048cba325b3cc48077cab1b6ec6359cdc88c2ecf6413d1bac14a439878b20d6adb2c6229746018c2e130", + "sdk|8.0|linux|arm|sha": "18a2bf575a6d895ce0671b22e4f0853003920f0b7f2f33ff45afc51d34453bfd6b87b2aa5e53349d0c6ae9f6c37f6663d37f87a2ee544c89a7f5ba88d6f65408", + "sdk|8.0|linux|arm64|sha": "9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988", + "sdk|8.0|linux|x64|sha": "d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a", + "sdk|8.0|win|x64|sha": "88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2", + + "sdk|9.0|build-version": "9.0.200", + "sdk|9.0|product-version": "9.0.200", "sdk|9.0|fixed-tag": "$(sdk|9.0|product-version)", "sdk|9.0|minor-tag": "$(dotnet|9.0|minor-tag)", - "sdk|9.0|linux-musl|arm|sha": "e363e3d4edca93830d18bcebd41e01bf2856b095ae70e1a24b0533abb0a507e4c1f1542ff3046c285689318dac7e2b5c71a166bcb5933a8ab68d800bf3eedf03", - "sdk|9.0|linux-musl|arm64|sha": "5da98e46c280e21c3734a0c9081e7ddb78ad62775a51a129b42a6f021330d263a875da2f44a7aafe8156e7c9ae0f9bb21b502057692b360f2afe0882f0e61132", - "sdk|9.0|linux-musl|x64|sha": "60e091854d17da9a6011569f0a4819eac72ce6fe06d01757feeb83ad56c17645fa438257631ecbbf6ee94ac3a973eff9ad4d3e12deadda3eb41c1b69ca8d5308", - "sdk|9.0|linux|arm|sha": "2c4c69d46c3e57ed990518a9d82963665d835c66a57da54b9d21e22c2a20e8018020dcb190eef54dfe68c001fcce385361eb2bd29896311a1683599ff9e6a777", - "sdk|9.0|linux|arm64|sha": "cb78931dcbb948a504891f112f11215f2792d169f0a0b53eaa81c03fc4ba78d31a91c60a41809ae6e2ddcae8640085a159e492035cedfda68d265bbeb4bf8b2e", - "sdk|9.0|linux|x64|sha": "f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099", - "sdk|9.0|win|x64|sha": "c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5", + "sdk|9.0|linux-musl|arm|sha": "4297ed3b4f112e1d64a6617cb96191bfb4ebf6a5fbd01c75de6c0592897173f011aef3d9be7e61738e0c8ce8ba1815b06f28e0c251c840f2e0de2630d36616ca", + "sdk|9.0|linux-musl|arm64|sha": "f1a70807e0a2b5ee272bdd714535a2fa3d31bb8c2216b43c151a72cb364f64a6f893590baeebc7dfb2b78ff50e4ba11c3e4cadf11c75744404fefabdc7ff08db", + "sdk|9.0|linux-musl|x64|sha": "96b032d5209a838e97522528963e2e9589f8384dff4292e567030b0da0849104a57cd6d0f05e5fb7e7787730f47c6112a014df17c76010864f55c110a971f216", + "sdk|9.0|linux|arm|sha": "476a9a686af234482ea99ef53fd1a3b6bd65e4ef5f24eb1e2e94b60f146e7b7e7b99519a66a896836682e702007027a04e10ede857fc4540c3bae56b16cb3780", + "sdk|9.0|linux|arm64|sha": "c2d18644243d67d103471713f0e9ba659df0c0d5e098bd441310418dd03798d6a5a8539da7c8cc320d57085c193c753ff78bdff8a97a97c51f500433538fb722", + "sdk|9.0|linux|x64|sha": "1af5f3a444419b3f5cf99cb03ee740722722478226d0aff27ad41b1d11e69d73497e25c07ef06a6df9e73fb0fbdc4b9baca9accec95654d9ee7be4d5a5c3ac23", + "sdk|9.0|win|x64|sha": "e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9", "syft|repo": "anchore/syft", - "syft|tag": "v1.18.1" + "syft|tag": "v1.19.0" } } diff --git a/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile b/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile index d7aa8a58e7..ef6ee90ed8 100644 --- a/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile +++ b/src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile @@ -19,7 +19,7 @@ RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \ # Aspire Dashboard image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-amd64 WORKDIR /app COPY --from=installer /app . diff --git a/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile b/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile index 9e643f2a53..747f243df6 100644 --- a/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile +++ b/src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile @@ -19,7 +19,7 @@ RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \ # Aspire Dashboard image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-arm64v8 WORKDIR /app COPY --from=installer /app . diff --git a/src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile b/src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile index 3c7de479bb..a999a43046 100644 --- a/src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/alpine3.20-composite/amd64/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-amd64 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='6ca899516f24c3173bdc467dee009ddabb3a78d16a17ed4295b6ce24f85734ac99cc70dde57a83f66d28ceb1c953ba6a7804bd89b6b613b915346934c0dc712d' \ + && dotnet_sha512='7c29859c689d3dfee555f6dd43ba6b9b83ba8446c6f4457ee47976cc41da0d53f889283b063786426d485f2751ccc2a58b6a0dcc6b18309961ae02ee67d10c63' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile b/src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile index bf6ac3b2ba..d037ddd9ad 100644 --- a/src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile +++ b/src/aspnet/8.0/alpine3.20-composite/arm32v7/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-arm32v7 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='44b22ee55213537adfeaed8c94bf295769ac96d3d2bc244cb20811cf4aa7c215f6c2e31856a2c100c4fb1eb0f9080f07c57fcea7e985232d32c0520e7c02449a' \ + && dotnet_sha512='9e961a15e8df2d6acb58cf246d299905e48b3280539b54d616cf9f550d5e66b31f9737e90f52d323bfef57753404b22e4a2d1c5f72db2525d3cc6de0d828eb89' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile b/src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile index dfb1000ab8..2d4fe4ae56 100644 --- a/src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/alpine3.20-composite/arm64v8/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-arm64v8 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='44707162db307159e8ff643e50d630997b86043cd4e61059129fed20ac6b88c2a5d61244f6da40d93f4681e1fc4cc844174d62e38a028042d520b963264ab1de' \ + && dotnet_sha512='f5710cc1d91a284a13f553fa013d651a00a90219514391f55632a10093eab42153deb0557ab5bb60cbe013ea6ba7c58cf309442f13fc2191f92103aeb219d008' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.20/amd64/Dockerfile b/src/aspnet/8.0/alpine3.20/amd64/Dockerfile index 2995d88bba..dc0cc61dd3 100644 --- a/src/aspnet/8.0/alpine3.20/amd64/Dockerfile +++ b/src/aspnet/8.0/alpine3.20/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.20-amd64 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && aspnetcore_sha512='a7d3bae2da7b4da946851d36196d41053593af4138d1ae020ce4b9b141c7e84d53446cb0891e127983abd5e7c011d7c9d2039227dca9409d6faeb6383583389a' \ + && aspnetcore_sha512='f4992c2cbc8019378af0c8463d36c978caa943e53d49522037b802f7476ec9d82a6f69dfb2178f82f619bcedd6620ff0c1aba024760864eb0f73ce70c04fd8f9' \ && 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/8.0/alpine3.20/arm32v7/Dockerfile b/src/aspnet/8.0/alpine3.20/arm32v7/Dockerfile index 007b9ea6b0..a56c8fcc28 100644 --- a/src/aspnet/8.0/alpine3.20/arm32v7/Dockerfile +++ b/src/aspnet/8.0/alpine3.20/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.20-arm32v7 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && aspnetcore_sha512='174189c851eb178dc7b5624b220b0a0df8acbf41c4cd73e155a9d1efd2e6ad2ad77ac719f51edbba4984e4be90763a26eebbf958c1a77ae32e26f728016511b6' \ + && aspnetcore_sha512='20a6322409e46f064f739d3948dcfa365879d3bfc1e704ec24f74accf9c8f464ac5782eac88cebf36d6732a3d45d6eff2bb4a89e39032332288de25e41065ba0' \ && 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/8.0/alpine3.20/arm64v8/Dockerfile b/src/aspnet/8.0/alpine3.20/arm64v8/Dockerfile index 0f1ff715f3..69f9dd416c 100644 --- a/src/aspnet/8.0/alpine3.20/arm64v8/Dockerfile +++ b/src/aspnet/8.0/alpine3.20/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.20-arm64v8 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && aspnetcore_sha512='77ae48a34d3b9478aa11b8077f7b1d6f5ea47699f92e3dc29d05cccd16b25e023587a960d9bc2a5c25939cbb7494102ce7ae7fd6c09f597914981a5e7ed92716' \ + && aspnetcore_sha512='cec1eefebff9c3b8582417fc883cd19a5cf1741f00ed5df5e42a239398c3286f9f8e1fe6c9a65ffbd76fa95318cf23f7941f47f6132f03afbc1fafa3a48601c7' \ && 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/8.0/alpine3.21-composite/amd64/Dockerfile b/src/aspnet/8.0/alpine3.21-composite/amd64/Dockerfile index efa68aa74d..1d59055587 100644 --- a/src/aspnet/8.0/alpine3.21-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/alpine3.21-composite/amd64/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-amd64 +FROM $REPO:8.0.13-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='6ca899516f24c3173bdc467dee009ddabb3a78d16a17ed4295b6ce24f85734ac99cc70dde57a83f66d28ceb1c953ba6a7804bd89b6b613b915346934c0dc712d' \ + && dotnet_sha512='7c29859c689d3dfee555f6dd43ba6b9b83ba8446c6f4457ee47976cc41da0d53f889283b063786426d485f2751ccc2a58b6a0dcc6b18309961ae02ee67d10c63' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile b/src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile index fdf10642b2..702d76e3c9 100644 --- a/src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile +++ b/src/aspnet/8.0/alpine3.21-composite/arm32v7/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-arm32v7 +FROM $REPO:8.0.13-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='44b22ee55213537adfeaed8c94bf295769ac96d3d2bc244cb20811cf4aa7c215f6c2e31856a2c100c4fb1eb0f9080f07c57fcea7e985232d32c0520e7c02449a' \ + && dotnet_sha512='9e961a15e8df2d6acb58cf246d299905e48b3280539b54d616cf9f550d5e66b31f9737e90f52d323bfef57753404b22e4a2d1c5f72db2525d3cc6de0d828eb89' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile b/src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile index 435635208d..d17a5d0a19 100644 --- a/src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/alpine3.21-composite/arm64v8/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-arm64v8 +FROM $REPO:8.0.13-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=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='44707162db307159e8ff643e50d630997b86043cd4e61059129fed20ac6b88c2a5d61244f6da40d93f4681e1fc4cc844174d62e38a028042d520b963264ab1de' \ + && dotnet_sha512='f5710cc1d91a284a13f553fa013d651a00a90219514391f55632a10093eab42153deb0557ab5bb60cbe013ea6ba7c58cf309442f13fc2191f92103aeb219d008' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/8.0/alpine3.21/amd64/Dockerfile b/src/aspnet/8.0/alpine3.21/amd64/Dockerfile index ac5b165772..749b198718 100644 --- a/src/aspnet/8.0/alpine3.21/amd64/Dockerfile +++ b/src/aspnet/8.0/alpine3.21/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.21-amd64 +FROM $REPO:8.0.13-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && aspnetcore_sha512='a7d3bae2da7b4da946851d36196d41053593af4138d1ae020ce4b9b141c7e84d53446cb0891e127983abd5e7c011d7c9d2039227dca9409d6faeb6383583389a' \ + && aspnetcore_sha512='f4992c2cbc8019378af0c8463d36c978caa943e53d49522037b802f7476ec9d82a6f69dfb2178f82f619bcedd6620ff0c1aba024760864eb0f73ce70c04fd8f9' \ && 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/8.0/alpine3.21/arm32v7/Dockerfile b/src/aspnet/8.0/alpine3.21/arm32v7/Dockerfile index 24e7b70f1a..e03c0638a8 100644 --- a/src/aspnet/8.0/alpine3.21/arm32v7/Dockerfile +++ b/src/aspnet/8.0/alpine3.21/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.21-arm32v7 +FROM $REPO:8.0.13-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && aspnetcore_sha512='174189c851eb178dc7b5624b220b0a0df8acbf41c4cd73e155a9d1efd2e6ad2ad77ac719f51edbba4984e4be90763a26eebbf958c1a77ae32e26f728016511b6' \ + && aspnetcore_sha512='20a6322409e46f064f739d3948dcfa365879d3bfc1e704ec24f74accf9c8f464ac5782eac88cebf36d6732a3d45d6eff2bb4a89e39032332288de25e41065ba0' \ && 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/8.0/alpine3.21/arm64v8/Dockerfile b/src/aspnet/8.0/alpine3.21/arm64v8/Dockerfile index 6f4b245447..ebc12b3811 100644 --- a/src/aspnet/8.0/alpine3.21/arm64v8/Dockerfile +++ b/src/aspnet/8.0/alpine3.21/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-alpine3.21-arm64v8 +FROM $REPO:8.0.13-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=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && aspnetcore_sha512='77ae48a34d3b9478aa11b8077f7b1d6f5ea47699f92e3dc29d05cccd16b25e023587a960d9bc2a5c25939cbb7494102ce7ae7fd6c09f597914981a5e7ed92716' \ + && aspnetcore_sha512='cec1eefebff9c3b8582417fc883cd19a5cf1741f00ed5df5e42a239398c3286f9f8e1fe6c9a65ffbd76fa95318cf23f7941f47f6132f03afbc1fafa3a48601c7' \ && 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/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile index 33331c4683..6ff5a4fda2 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile index eb71c05bdd..e9df6f6054 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile index b34d8f708c..b7b8a474cd 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-composite/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-azurelinux3.0-distroless-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile index 48e7961306..eccd943ea3 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-azurelinux3.0-distroless-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile index b2bdc177e1..b805d8adcc 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile index 9228ba8448..0f8a027c3b 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile index ff682c4559..6f6a8181c0 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-azurelinux3.0-distroless-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile index defc5193f3..71dba80791 100644 --- a/src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-azurelinux3.0-distroless-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile b/src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile index c591774ff9..ec1a9f1208 100644 --- a/src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0/amd64/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:8.0.12-azurelinux3.0-amd64 AS installer +FROM $REPO:8.0.13-azurelinux3.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && 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:8.0.12-azurelinux3.0-amd64 +FROM $REPO:8.0.13-azurelinux3.0-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile b/src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile index b81e7d317b..05fa554eae 100644 --- a/src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/aspnet/8.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:8.0.12-azurelinux3.0-arm64v8 AS installer +FROM $REPO:8.0.13-azurelinux3.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && 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:8.0.12-azurelinux3.0-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/bookworm-slim/amd64/Dockerfile b/src/aspnet/8.0/bookworm-slim/amd64/Dockerfile index d212c14e2d..0a15b58a44 100644 --- a/src/aspnet/8.0/bookworm-slim/amd64/Dockerfile +++ b/src/aspnet/8.0/bookworm-slim/amd64/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && 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:8.0.12-bookworm-slim-amd64 +FROM $REPO:8.0.13-bookworm-slim-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile b/src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile index 4c49b9bbf0..dd7b20a287 100644 --- a/src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/aspnet/8.0/bookworm-slim/arm32v7/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='144bd7d4502537a2806d17ee1612e4b3c262766c5d83da8b1031ca61f2a1eabd1bba5a531b1bfcafab999f084db961c9795804de651d87f81dd6d64976335948' \ + && aspnetcore_sha512='de5a3dcfabaa7f01aaffb78b2156d9d79d614f0e52ebe619657072568ab0fc47f4d53e7b577a7622392502cd3a739400af6c26999247cc50c29813b6a94cfcd0' \ && 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:8.0.12-bookworm-slim-arm32v7 +FROM $REPO:8.0.13-bookworm-slim-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile b/src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile index 819547cf44..903b9c60e1 100644 --- a/src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/aspnet/8.0/bookworm-slim/arm64v8/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && 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:8.0.12-bookworm-slim-arm64v8 +FROM $REPO:8.0.13-bookworm-slim-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64/Dockerfile index 98ffbf286d..efb1b14666 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8/Dockerfile index 489f07b94b..ff8ba05c7c 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64/Dockerfile index 346e368cf1..fb360dd438 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8/Dockerfile index 9210e10643..5b0e17af15 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-composite/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile index f63b5d4025..fcddd9c67e 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile index b868c7362e..d0a690c1e8 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile index 17d856ec1a..6d97b31d0a 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile index 3aa4f1438f..2bf1f308e1 100644 --- a/src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile index bb2d164668..b0c5195405 100644 --- a/src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0/amd64/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:8.0.12-cbl-mariner2.0-amd64 AS installer +FROM $REPO:8.0.13-cbl-mariner2.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && 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:8.0.12-cbl-mariner2.0-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile index dd1c2eb12c..6bb5826acf 100644 --- a/src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile +++ b/src/aspnet/8.0/cbl-mariner2.0/arm64v8/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:8.0.12-cbl-mariner2.0-arm64v8 AS installer +FROM $REPO:8.0.13-cbl-mariner2.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && 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:8.0.12-cbl-mariner2.0-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile index 38c5b87f9f..77409417d5 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-extra-amd64 +FROM $REPO:8.0.13-jammy-chiseled-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile index a80453bd54..591dfd47f1 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ - && dotnet_sha512='7833ebecd098e2009103bab89dd6607135c6fa83dab11d206bf74aa696e2a71ab51d23a83673860c14301448651a54e932bb93373f4ad2bf8ddd04ddb20efbd2' \ + && dotnet_sha512='2867b14062806103360ff725d318611af988234fe011449b52e13a5f31464fbcd86ce2470ec84ad468663cb4a60cf693d96e9960251bf80d071c8ade57e66b3d' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm32v7 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile index 378a5162ca..8ed18d6353 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile index c480e7a2c8..d7790b4d2d 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-amd64 +FROM $REPO:8.0.13-jammy-chiseled-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile index d96350c344..d03883d342 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ - && dotnet_sha512='7833ebecd098e2009103bab89dd6607135c6fa83dab11d206bf74aa696e2a71ab51d23a83673860c14301448651a54e932bb93373f4ad2bf8ddd04ddb20efbd2' \ + && dotnet_sha512='2867b14062806103360ff725d318611af988234fe011449b52e13a5f31464fbcd86ce2470ec84ad468663cb4a60cf693d96e9960251bf80d071c8ade57e66b3d' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-arm32v7 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile b/src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile index ec70ade9d7..ec9c8ae5e3 100644 --- a/src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-composite/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-jammy-chiseled-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile b/src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile index a5f8997c42..2445147aff 100644 --- a/src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-extra-amd64 +FROM $REPO:8.0.13-jammy-chiseled-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile b/src/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile index 70a04b41a1..a8656949d9 100644 --- a/src/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='144bd7d4502537a2806d17ee1612e4b3c262766c5d83da8b1031ca61f2a1eabd1bba5a531b1bfcafab999f084db961c9795804de651d87f81dd6d64976335948' \ + && aspnetcore_sha512='de5a3dcfabaa7f01aaffb78b2156d9d79d614f0e52ebe619657072568ab0fc47f4d53e7b577a7622392502cd3a739400af6c26999247cc50c29813b6a94cfcd0' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile b/src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile index 410d4815fb..30b4d9ac1a 100644 --- a/src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile b/src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile index fd52fa5415..903783b275 100644 --- a/src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-amd64 +FROM $REPO:8.0.13-jammy-chiseled-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy-chiseled/arm32v7/Dockerfile b/src/aspnet/8.0/jammy-chiseled/arm32v7/Dockerfile index ddea4ff068..f198622432 100644 --- a/src/aspnet/8.0/jammy-chiseled/arm32v7/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='144bd7d4502537a2806d17ee1612e4b3c262766c5d83da8b1031ca61f2a1eabd1bba5a531b1bfcafab999f084db961c9795804de651d87f81dd6d64976335948' \ + && aspnetcore_sha512='de5a3dcfabaa7f01aaffb78b2156d9d79d614f0e52ebe619657072568ab0fc47f4d53e7b577a7622392502cd3a739400af6c26999247cc50c29813b6a94cfcd0' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile b/src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile index 5d5544e6fd..6bbcbcb6a2 100644 --- a/src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile +++ b/src/aspnet/8.0/jammy-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-jammy-chiseled-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/jammy/amd64/Dockerfile b/src/aspnet/8.0/jammy/amd64/Dockerfile index 6e1a28294b..ae5176782c 100644 --- a/src/aspnet/8.0/jammy/amd64/Dockerfile +++ b/src/aspnet/8.0/jammy/amd64/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && 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:8.0.12-jammy-amd64 +FROM $REPO:8.0.13-jammy-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/jammy/arm32v7/Dockerfile b/src/aspnet/8.0/jammy/arm32v7/Dockerfile index bbe9018479..736f07d4c4 100644 --- a/src/aspnet/8.0/jammy/arm32v7/Dockerfile +++ b/src/aspnet/8.0/jammy/arm32v7/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='144bd7d4502537a2806d17ee1612e4b3c262766c5d83da8b1031ca61f2a1eabd1bba5a531b1bfcafab999f084db961c9795804de651d87f81dd6d64976335948' \ + && aspnetcore_sha512='de5a3dcfabaa7f01aaffb78b2156d9d79d614f0e52ebe619657072568ab0fc47f4d53e7b577a7622392502cd3a739400af6c26999247cc50c29813b6a94cfcd0' \ && 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:8.0.12-jammy-arm32v7 +FROM $REPO:8.0.13-jammy-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/jammy/arm64v8/Dockerfile b/src/aspnet/8.0/jammy/arm64v8/Dockerfile index 04b0450de0..4b86d87e95 100644 --- a/src/aspnet/8.0/jammy/arm64v8/Dockerfile +++ b/src/aspnet/8.0/jammy/arm64v8/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && 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:8.0.12-jammy-arm64v8 +FROM $REPO:8.0.13-jammy-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/nanoserver-1809/amd64/Dockerfile b/src/aspnet/8.0/nanoserver-1809/amd64/Dockerfile index d922c5d72d..47adab9ebc 100644 --- a/src/aspnet/8.0/nanoserver-1809/amd64/Dockerfile +++ b/src/aspnet/8.0/nanoserver-1809/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $aspnetcore_version = '8.0.12'; ` + $aspnetcore_version = '8.0.13'; ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` - $aspnetcore_sha512 = '28a3d2cde0d55da3c6943d707b2744cbf9b225bf3e66f8dbb18aba5196725bd7048f4fba5af219ae0a7aef31a4ff7e309396518ee7dc0eb2a5c2a61955d5b10c'; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -24,9 +24,9 @@ RUN powershell -Command ` # ASP.NET Core image -FROM $REPO:8.0.12-nanoserver-1809 +FROM $REPO:8.0.13-nanoserver-1809 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile index 186d1d5d03..6fc472071b 100644 --- a/src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/aspnet/8.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $aspnetcore_version = '8.0.12'; ` + $aspnetcore_version = '8.0.13'; ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` - $aspnetcore_sha512 = '28a3d2cde0d55da3c6943d707b2744cbf9b225bf3e66f8dbb18aba5196725bd7048f4fba5af219ae0a7aef31a4ff7e309396518ee7dc0eb2a5c2a61955d5b10c'; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -24,9 +24,9 @@ RUN powershell -Command ` # ASP.NET Core image -FROM $REPO:8.0.12-nanoserver-ltsc2022 +FROM $REPO:8.0.13-nanoserver-ltsc2022 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/aspnet/8.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..648fbc0716 --- /dev/null +++ b/src/aspnet/8.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 = '8.0.13'; ` + Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` + 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:8.0.13-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=8.0.13 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile b/src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile index abc98e3851..8a4321c478 100644 --- a/src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-composite-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-noble-chiseled-extra-amd64 +FROM $REPO:8.0.13-noble-chiseled-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile b/src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile index 714fe358df..2d164450e3 100644 --- a/src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-composite-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-noble-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile b/src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile index 847aea08ec..e84c665a42 100644 --- a/src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-composite/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='2a1028df28a8d9967884c7cada4297afe23cd412f9cc1b53fe20772dc22735cf50a8899481fef163f2d17e6081806eac7e90cb8ff6701067ff7ab2b90e70c7dd' \ + && dotnet_sha512='671182c89277327368b739dff04d897cdd82a9f915f0d2d6b2b68eea5952d1d741c4edf413d8e668cc2d9c83b62b01ca86db0587d755904bf02f25d7b7a6e3da' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-noble-chiseled-amd64 +FROM $REPO:8.0.13-noble-chiseled-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile b/src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile index ff86672d6b..1af59597a6 100644 --- a/src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-composite/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='68d304d4e7e0d1dfb26d71886d9656f4208d36ed62ea89d6cb83a21e2fb5cf96a028f42cae146f4467caa8384a69ee7278e031ebf6c7053787968415ad048637' \ + && dotnet_sha512='942ff8c727eae0f0caca541706cab338ed16f6b14470c626ec2c54ad877189d85425761d8529d700172633aaf45c2dae5e29e262ce0339da20e6d00fbb914591' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:8.0.12-noble-chiseled-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=8.0.12 \ + DOTNET_VERSION=8.0.13 \ # ASP.NET Core version - ASPNET_VERSION=8.0.12 + ASPNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile b/src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile index bc88316394..2eb6f9027e 100644 --- a/src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-noble-chiseled-extra-amd64 +FROM $REPO:8.0.13-noble-chiseled-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile index e626f37a58..896574ebea 100644 --- a/src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-noble-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/noble-chiseled/amd64/Dockerfile b/src/aspnet/8.0/noble-chiseled/amd64/Dockerfile index 973e5beb06..b65e350375 100644 --- a/src/aspnet/8.0/noble-chiseled/amd64/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-noble-chiseled-amd64 +FROM $REPO:8.0.13-noble-chiseled-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile b/src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile index c1162d6af5..9e9b72c0ea 100644 --- a/src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/aspnet/8.0/noble-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=8.0.12 \ # ASP.NET Core image -FROM $REPO:8.0.12-noble-chiseled-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/8.0/noble/amd64/Dockerfile b/src/aspnet/8.0/noble/amd64/Dockerfile index 65c0b0257a..5dbbed5108 100644 --- a/src/aspnet/8.0/noble/amd64/Dockerfile +++ b/src/aspnet/8.0/noble/amd64/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='03a7fd37dce46c31d7e74da7cd4d9aabd82d5e087859d0065f470ebf7d0b62ad1feb59fc3f74690337a928f5751e04bcb7838896e64b3f8d25ae035c5b7f5c83' \ + && aspnetcore_sha512='7b21aff45c3ca7ccdc0527c6de05c209d58a56a15cf10e656522261f884cf272a92be13696b1a0f1ae2baaa0d825ffda58d954871a17b3c3a8659a9f3a36c7e6' \ && 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:8.0.12-noble-amd64 +FROM $REPO:8.0.13-noble-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/noble/arm64v8/Dockerfile b/src/aspnet/8.0/noble/arm64v8/Dockerfile index b84da975fa..a51100fa60 100644 --- a/src/aspnet/8.0/noble/arm64v8/Dockerfile +++ b/src/aspnet/8.0/noble/arm64v8/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=8.0.12 \ +RUN aspnetcore_version=8.0.13 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='9323f6584bf98500fe023009dea5b90e49bbb34cdcea0868e8d18c2fe260b087315438ca2df783f259003c1a0ee31f2d735c8cea85c2c4fb04f6dafe05384531' \ + && aspnetcore_sha512='d67130310e81f727f1d4806463f49af18e012d6dc766c940838854922b3a3e7f7171c87d595c4dc09e1c63470fae3017b54d51be98618985129ff37d6a5ac0b3' \ && 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:8.0.12-noble-arm64v8 +FROM $REPO:8.0.13-noble-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/8.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/aspnet/8.0/windowsservercore-ltsc2019/amd64/Dockerfile index ed64772ad6..930b2758bd 100644 --- a/src/aspnet/8.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/aspnet/8.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -1,10 +1,10 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-windowsservercore-ltsc2019 +FROM $REPO:8.0.13-windowsservercore-ltsc2019 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core Runtime RUN powershell -Command ` @@ -12,7 +12,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` - $aspnetcore_sha512 = '28a3d2cde0d55da3c6943d707b2744cbf9b225bf3e66f8dbb18aba5196725bd7048f4fba5af219ae0a7aef31a4ff7e309396518ee7dc0eb2a5c2a61955d5b10c'; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile index 36113dcf15..040ae82129 100644 --- a/src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/aspnet/8.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -1,10 +1,10 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:8.0.12-windowsservercore-ltsc2022 +FROM $REPO:8.0.13-windowsservercore-ltsc2022 # ASP.NET Core version -ENV ASPNET_VERSION=8.0.12 +ENV ASPNET_VERSION=8.0.13 # Install ASP.NET Core Runtime RUN powershell -Command ` @@ -12,7 +12,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` - $aspnetcore_sha512 = '28a3d2cde0d55da3c6943d707b2744cbf9b225bf3e66f8dbb18aba5196725bd7048f4fba5af219ae0a7aef31a4ff7e309396518ee7dc0eb2a5c2a61955d5b10c'; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/aspnet/8.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/aspnet/8.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..4d613a0b44 --- /dev/null +++ b/src/aspnet/8.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,22 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:8.0.13-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=8.0.13 + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` + $aspnetcore_sha512 = '2cf4a7dc531cdae0d244bbd745a051c431304db230630789e26273781c32e540ba92709e51ddfd17fccdc9879e1b209a3e08783475d9c4c4446dcc74709be5d8'; ` + 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/9.0/alpine3.20-composite/amd64/Dockerfile b/src/aspnet/9.0/alpine3.20-composite/amd64/Dockerfile index 66b989cecd..6fbba9f826 100644 --- a/src/aspnet/9.0/alpine3.20-composite/amd64/Dockerfile +++ b/src/aspnet/9.0/alpine3.20-composite/amd64/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-amd64 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='fff2915b8bfe74fd4d882ed2d0a2e9d82c174e6ac186cfce7b28f87ef3043145e19d9be7f60b90e9af7b6532ee75b3e527a360f2fac4574e4b248b3ce3fe4367' \ + && dotnet_sha512='7257c9093bb4fe4ce09e2169ccaa8500dd23008464aab7ae50f57e7ec187d8a0a3fad8c8d67fa0561801bce59300839f0d2044b0b4232b0e320d1305662fa465' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile b/src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile index 38c51e0ad6..52596ad0e4 100644 --- a/src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile +++ b/src/aspnet/9.0/alpine3.20-composite/arm32v7/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-arm32v7 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='46deba46b4458a3546da4db8118798d8baf5a230f1691c9a9745771a80f48a50c93a0ea56d0348fdbbdd9952eb397f8e1153274e0aeccb8e1d91f68f700f30cf' \ + && dotnet_sha512='9240868535b83a81f2dff1226be734d5f4d31095988c286455679e1b56a2ba7a56cb7d30d4c6f74d645024ed2526a2d5a2a06dae4194b2ffc2d86a8fbf2a42ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile b/src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile index 002bfb6d90..1f6e8a19c0 100644 --- a/src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile +++ b/src/aspnet/9.0/alpine3.20-composite/arm64v8/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-arm64v8 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='5de05d1c2a12a4276d788295a78484360f2a65a99dab935469696bc8588d8a23a10ccdbc777df9dc9445dda7541e33f4f583ef7b00d06cfbcdfd43339cffa809' \ + && dotnet_sha512='cde805a00d9db6de6e57fb573f392df8bcd2f21ef029a6ac22f059b85af635cd4553d9d749d6391b637a9958f3cea3f6430b3c575d217c428758330f864e2841' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.20/amd64/Dockerfile b/src/aspnet/9.0/alpine3.20/amd64/Dockerfile index 47853fea82..8a6b5ea807 100644 --- a/src/aspnet/9.0/alpine3.20/amd64/Dockerfile +++ b/src/aspnet/9.0/alpine3.20/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.20-amd64 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && aspnetcore_sha512='d3f609184959849f7524fdfb55c5cf9a8391d0a773483aa6659d9baa152656835f26c2fe9ba322e718a8eb7781fb996eb4ebc6953beaf6fdfb5628ef31bfc853' \ + && aspnetcore_sha512='ff070ebfabb1fa776df69ce6fb1e6990069ff6e4b795dd0ea0ee028dcceaa278500f695c9ba6b6c839310ee0d9aaca398e079ebd9081ec36c1e2d5a63c5bc109' \ && 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/9.0/alpine3.20/arm32v7/Dockerfile b/src/aspnet/9.0/alpine3.20/arm32v7/Dockerfile index 171c06103b..ef2c80feaa 100644 --- a/src/aspnet/9.0/alpine3.20/arm32v7/Dockerfile +++ b/src/aspnet/9.0/alpine3.20/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.20-arm32v7 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && aspnetcore_sha512='3ea55cc5098dc08909a385219fad1e38635f6eef6cd66ea526b92dd57f765dc348380422e5e0b9c8ade286e18e713caa4b7ff2d06a23c3fed31b8b5c91d2dc6b' \ + && aspnetcore_sha512='f96a66442f7db558e40491f1deba42a58b697286a8c592f20b9b17006040544c3cde3851dbe9d5dd0be4ff68666575a10a8e1225dc97069081a66726a9f0fc8b' \ && 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/9.0/alpine3.20/arm64v8/Dockerfile b/src/aspnet/9.0/alpine3.20/arm64v8/Dockerfile index 3a7b25d1d2..07eeff0b8f 100644 --- a/src/aspnet/9.0/alpine3.20/arm64v8/Dockerfile +++ b/src/aspnet/9.0/alpine3.20/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.20-arm64v8 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && aspnetcore_sha512='e9a7e257f6b09e48c522b725be8ab498e57189d6687f840a37ab9fe4192e985bddd99a663418c5d5d96ee7c7c2b9f70e08f786aa4a1b207548586bd3fcc3710e' \ + && aspnetcore_sha512='5e74871d9133c52389559eb34ee82ed7b8ff2ee990857ef80ebf2b27c405e0dee1ae951c9a87355168901d98acfbe37bd6d516d6a0b4f5f495c58326243c0630' \ && 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/9.0/alpine3.21-composite/amd64/Dockerfile b/src/aspnet/9.0/alpine3.21-composite/amd64/Dockerfile index 87887460c3..b28c63768d 100644 --- a/src/aspnet/9.0/alpine3.21-composite/amd64/Dockerfile +++ b/src/aspnet/9.0/alpine3.21-composite/amd64/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-amd64 +FROM $REPO:9.0.2-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='fff2915b8bfe74fd4d882ed2d0a2e9d82c174e6ac186cfce7b28f87ef3043145e19d9be7f60b90e9af7b6532ee75b3e527a360f2fac4574e4b248b3ce3fe4367' \ + && dotnet_sha512='7257c9093bb4fe4ce09e2169ccaa8500dd23008464aab7ae50f57e7ec187d8a0a3fad8c8d67fa0561801bce59300839f0d2044b0b4232b0e320d1305662fa465' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile b/src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile index 9556757890..705f986393 100644 --- a/src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile +++ b/src/aspnet/9.0/alpine3.21-composite/arm32v7/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-arm32v7 +FROM $REPO:9.0.2-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='46deba46b4458a3546da4db8118798d8baf5a230f1691c9a9745771a80f48a50c93a0ea56d0348fdbbdd9952eb397f8e1153274e0aeccb8e1d91f68f700f30cf' \ + && dotnet_sha512='9240868535b83a81f2dff1226be734d5f4d31095988c286455679e1b56a2ba7a56cb7d30d4c6f74d645024ed2526a2d5a2a06dae4194b2ffc2d86a8fbf2a42ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile b/src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile index f0454970da..a0980442f7 100644 --- a/src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile +++ b/src/aspnet/9.0/alpine3.21-composite/arm64v8/Dockerfile @@ -1,19 +1,19 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-arm64v8 +FROM $REPO:9.0.2-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=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 # Install ASP.NET Composite Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-composite-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='5de05d1c2a12a4276d788295a78484360f2a65a99dab935469696bc8588d8a23a10ccdbc777df9dc9445dda7541e33f4f583ef7b00d06cfbcdfd43339cffa809' \ + && dotnet_sha512='cde805a00d9db6de6e57fb573f392df8bcd2f21ef029a6ac22f059b85af635cd4553d9d749d6391b637a9958f3cea3f6430b3c575d217c428758330f864e2841' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/aspnet/9.0/alpine3.21/amd64/Dockerfile b/src/aspnet/9.0/alpine3.21/amd64/Dockerfile index a4db82ea71..e1e9d75d75 100644 --- a/src/aspnet/9.0/alpine3.21/amd64/Dockerfile +++ b/src/aspnet/9.0/alpine3.21/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.21-amd64 +FROM $REPO:9.0.2-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-x64.tar.gz \ - && aspnetcore_sha512='d3f609184959849f7524fdfb55c5cf9a8391d0a773483aa6659d9baa152656835f26c2fe9ba322e718a8eb7781fb996eb4ebc6953beaf6fdfb5628ef31bfc853' \ + && aspnetcore_sha512='ff070ebfabb1fa776df69ce6fb1e6990069ff6e4b795dd0ea0ee028dcceaa278500f695c9ba6b6c839310ee0d9aaca398e079ebd9081ec36c1e2d5a63c5bc109' \ && 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/9.0/alpine3.21/arm32v7/Dockerfile b/src/aspnet/9.0/alpine3.21/arm32v7/Dockerfile index 84eb05bc93..23fd547022 100644 --- a/src/aspnet/9.0/alpine3.21/arm32v7/Dockerfile +++ b/src/aspnet/9.0/alpine3.21/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.21-arm32v7 +FROM $REPO:9.0.2-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm.tar.gz \ - && aspnetcore_sha512='3ea55cc5098dc08909a385219fad1e38635f6eef6cd66ea526b92dd57f765dc348380422e5e0b9c8ade286e18e713caa4b7ff2d06a23c3fed31b8b5c91d2dc6b' \ + && aspnetcore_sha512='f96a66442f7db558e40491f1deba42a58b697286a8c592f20b9b17006040544c3cde3851dbe9d5dd0be4ff68666575a10a8e1225dc97069081a66726a9f0fc8b' \ && 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/9.0/alpine3.21/arm64v8/Dockerfile b/src/aspnet/9.0/alpine3.21/arm64v8/Dockerfile index b10f3f908c..5a8a18b018 100644 --- a/src/aspnet/9.0/alpine3.21/arm64v8/Dockerfile +++ b/src/aspnet/9.0/alpine3.21/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-alpine3.21-arm64v8 +FROM $REPO:9.0.2-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=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core RUN wget -O aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$ASPNET_VERSION/aspnetcore-runtime-$ASPNET_VERSION-linux-musl-arm64.tar.gz \ - && aspnetcore_sha512='e9a7e257f6b09e48c522b725be8ab498e57189d6687f840a37ab9fe4192e985bddd99a663418c5d5d96ee7c7c2b9f70e08f786aa4a1b207548586bd3fcc3710e' \ + && aspnetcore_sha512='5e74871d9133c52389559eb34ee82ed7b8ff2ee990857ef80ebf2b27c405e0dee1ae951c9a87355168901d98acfbe37bd6d516d6a0b4f5f495c58326243c0630' \ && 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/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile index d042812e95..c22b5fc29c 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='ce1034cc058d68869edacd5ed1feb8ff4a3e5a2931ee057789413da7fe17ce484ea563ab9f38a7d2c2d53d7a91d47e32680da7ed0953f81ff42b56489b8e47d0' \ + && dotnet_sha512='b819c4421c1110ecadfa4f1e790efb14d9788e7456be016d26023b993dda40c47f22e356483c5c6f00d0941e0daea8cf2c5fe6aa405c7422ec911a46b81b552c' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile index 98e083f2f1..1f9a562421 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-composite-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='28cafe4ca6061397a1eafb21ee0ce5fee850c4368633ca16773208620ac47a6b94f35a0890740112118743b92e6652e46e27eff0b8d6a8a053ae4fd9af62f226' \ + && dotnet_sha512='8387f486d692f1299cc08f33c57e647000f986e6a69ccb4b426b6a207be28a0b5b6e636bd0d91fa2d9452d0c0bb00e48179e965612b7f66641884430675130e9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile index 4d0c511dfd..4ad448d163 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-composite/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='ce1034cc058d68869edacd5ed1feb8ff4a3e5a2931ee057789413da7fe17ce484ea563ab9f38a7d2c2d53d7a91d47e32680da7ed0953f81ff42b56489b8e47d0' \ + && dotnet_sha512='b819c4421c1110ecadfa4f1e790efb14d9788e7456be016d26023b993dda40c47f22e356483c5c6f00d0941e0daea8cf2c5fe6aa405c7422ec911a46b81b552c' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-azurelinux3.0-distroless-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile index 0f74f23267..0f770d1fab 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-composite/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='28cafe4ca6061397a1eafb21ee0ce5fee850c4368633ca16773208620ac47a6b94f35a0890740112118743b92e6652e46e27eff0b8d6a8a053ae4fd9af62f226' \ + && dotnet_sha512='8387f486d692f1299cc08f33c57e647000f986e6a69ccb4b426b6a207be28a0b5b6e636bd0d91fa2d9452d0c0bb00e48179e965612b7f66641884430675130e9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,13 +23,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-azurelinux3.0-distroless-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile index dfc2852f46..b886b9dd9b 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile index af58faf077..e7cd6e9efd 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile index 8d40c61e07..e8f7383939 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-azurelinux3.0-distroless-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile index 61df72f45e..60725c8260 100644 --- a/src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -20,9 +20,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-azurelinux3.0-distroless-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile b/src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile index 11f413451b..9f75ec7420 100644 --- a/src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0/amd64/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:9.0.1-azurelinux3.0-amd64 AS installer +FROM $REPO:9.0.2-azurelinux3.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && 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:9.0.1-azurelinux3.0-amd64 +FROM $REPO:9.0.2-azurelinux3.0-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile b/src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile index 01d10634e9..a9733ef6fb 100644 --- a/src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/aspnet/9.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,25 +1,25 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime # Installer image -FROM $REPO:9.0.1-azurelinux3.0-arm64v8 AS installer +FROM $REPO:9.0.2-azurelinux3.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && 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:9.0.1-azurelinux3.0-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/bookworm-slim/amd64/Dockerfile b/src/aspnet/9.0/bookworm-slim/amd64/Dockerfile index 77f88528d1..0839408a39 100644 --- a/src/aspnet/9.0/bookworm-slim/amd64/Dockerfile +++ b/src/aspnet/9.0/bookworm-slim/amd64/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && 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:9.0.1-bookworm-slim-amd64 +FROM $REPO:9.0.2-bookworm-slim-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile b/src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile index 854a751f17..f382aae9c6 100644 --- a/src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/aspnet/9.0/bookworm-slim/arm32v7/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='fa75d8d5ae99ade0d1ab90018839fe3f5ddc4e7b7461715caf2b0bf7a88c8e86e1d4f10ab69703d2318b289c0700846e2155746d7bb1ace3d2d12e175ab18be1' \ + && aspnetcore_sha512='5576751ea9414449add100cb60c917f72305209dc831ecd3698b8ef6a69e2a802850148b33caf5a05d049be66b19c7404531ea6ecd643cc1fd6ae61179e1249b' \ && 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:9.0.1-bookworm-slim-arm32v7 +FROM $REPO:9.0.2-bookworm-slim-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile b/src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile index 4cf0c4e403..2edf2a0a04 100644 --- a/src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/aspnet/9.0/bookworm-slim/arm64v8/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:bookworm-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && 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:9.0.1-bookworm-slim-arm64v8 +FROM $REPO:9.0.2-bookworm-slim-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile b/src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile index 05ca82f136..2c28b57a8a 100644 --- a/src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile +++ b/src/aspnet/9.0/nanoserver-1809/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $aspnetcore_version = '9.0.1'; ` + $aspnetcore_version = '9.0.2'; ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` - $aspnetcore_sha512 = '613492bec0899bc451b11c572024feca2e068a471f2275b55b276c0eae85a695e2b7582b07101b9bc75e32cba6c198dc50ca65df0564e1c4c0241fe45db60c7d'; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -24,9 +24,9 @@ RUN powershell -Command ` # ASP.NET Core image -FROM $REPO:9.0.1-nanoserver-1809 +FROM $REPO:9.0.2-nanoserver-1809 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile index 32a490cb54..6dcc0553bf 100644 --- a/src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/aspnet/9.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $aspnetcore_version = '9.0.1'; ` + $aspnetcore_version = '9.0.2'; ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` - $aspnetcore_sha512 = '613492bec0899bc451b11c572024feca2e068a471f2275b55b276c0eae85a695e2b7582b07101b9bc75e32cba6c198dc50ca65df0564e1c4c0241fe45db60c7d'; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -24,9 +24,9 @@ RUN powershell -Command ` # ASP.NET Core image -FROM $REPO:9.0.1-nanoserver-ltsc2022 +FROM $REPO:9.0.2-nanoserver-ltsc2022 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/aspnet/9.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..28c9dc90f0 --- /dev/null +++ b/src/aspnet/9.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 = '9.0.2'; ` + Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` + 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:9.0.2-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=9.0.2 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile index 339a3e5472..9afd4c3996 100644 --- a/src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='ce1034cc058d68869edacd5ed1feb8ff4a3e5a2931ee057789413da7fe17ce484ea563ab9f38a7d2c2d53d7a91d47e32680da7ed0953f81ff42b56489b8e47d0' \ + && dotnet_sha512='b819c4421c1110ecadfa4f1e790efb14d9788e7456be016d26023b993dda40c47f22e356483c5c6f00d0941e0daea8cf2c5fe6aa405c7422ec911a46b81b552c' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-extra-amd64 +FROM $REPO:9.0.2-noble-chiseled-extra-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile index e81bebe383..8aa406d91a 100644 --- a/src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ - && dotnet_sha512='ac2c004657e3f1c65d1b338272aecd16445b5130eab9dd1229440b0bbb29b9d2a94ed7cb4f2d5d7325dfce8b19ea64da3008403d4b18cc251781d6543bd94052' \ + && dotnet_sha512='9008fec9c3cc98b9608eb6635f73cb86d37cb721d6f4ba3dbb8eaee4d7adacf832cbef6c223320895656743a82b5a81209c78936973ba469e551dbf05bc40ce9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-extra-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-extra-arm32v7 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile index 145b860ac9..3716fced09 100644 --- a/src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='28cafe4ca6061397a1eafb21ee0ce5fee850c4368633ca16773208620ac47a6b94f35a0890740112118743b92e6652e46e27eff0b8d6a8a053ae4fd9af62f226' \ + && dotnet_sha512='8387f486d692f1299cc08f33c57e647000f986e6a69ccb4b426b6a207be28a0b5b6e636bd0d91fa2d9452d0c0bb00e48179e965612b7f66641884430675130e9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-extra-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-extra-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile index 1d5c81edbd..b84b209bf9 100644 --- a/src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz \ - && dotnet_sha512='ce1034cc058d68869edacd5ed1feb8ff4a3e5a2931ee057789413da7fe17ce484ea563ab9f38a7d2c2d53d7a91d47e32680da7ed0953f81ff42b56489b8e47d0' \ + && dotnet_sha512='b819c4421c1110ecadfa4f1e790efb14d9788e7456be016d26023b993dda40c47f22e356483c5c6f00d0941e0daea8cf2c5fe6aa405c7422ec911a46b81b552c' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-amd64 +FROM $REPO:9.0.2-noble-chiseled-amd64 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile index 9eea0c9df6..9327be54b9 100644 --- a/src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz \ - && dotnet_sha512='ac2c004657e3f1c65d1b338272aecd16445b5130eab9dd1229440b0bbb29b9d2a94ed7cb4f2d5d7325dfce8b19ea64da3008403d4b18cc251781d6543bd94052' \ + && dotnet_sha512='9008fec9c3cc98b9608eb6635f73cb86d37cb721d6f4ba3dbb8eaee4d7adacf832cbef6c223320895656743a82b5a81209c78936973ba469e551dbf05bc40ce9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-arm32v7 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile b/src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile index d6fd5d0737..0f8bebdbbb 100644 --- a/src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-composite/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Composite Runtime -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz \ - && dotnet_sha512='28cafe4ca6061397a1eafb21ee0ce5fee850c4368633ca16773208620ac47a6b94f35a0890740112118743b92e6652e46e27eff0b8d6a8a053ae4fd9af62f226' \ + && dotnet_sha512='8387f486d692f1299cc08f33c57e647000f986e6a69ccb4b426b6a207be28a0b5b6e636bd0d91fa2d9452d0c0bb00e48179e965612b7f66641884430675130e9' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,13 +17,13 @@ RUN mkdir /dotnet-symlink \ # ASP.NET Composite Image -FROM $REPO:9.0.1-noble-chiseled-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-arm64v8 ENV \ # .NET Runtime version - DOTNET_VERSION=9.0.1 \ + DOTNET_VERSION=9.0.2 \ # ASP.NET Core version - ASPNET_VERSION=9.0.1 + ASPNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile b/src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile index 3819ab9384..d5a119566c 100644 --- a/src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-extra-amd64 +FROM $REPO:9.0.2-noble-chiseled-extra-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile index 2dea28ea67..76eb3b42ff 100644 --- a/src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='fa75d8d5ae99ade0d1ab90018839fe3f5ddc4e7b7461715caf2b0bf7a88c8e86e1d4f10ab69703d2318b289c0700846e2155746d7bb1ace3d2d12e175ab18be1' \ + && aspnetcore_sha512='5576751ea9414449add100cb60c917f72305209dc831ecd3698b8ef6a69e2a802850148b33caf5a05d049be66b19c7404531ea6ecd643cc1fd6ae61179e1249b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-extra-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-extra-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile index 3cd751011e..c9798b666e 100644 --- a/src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-extra-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-extra-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble-chiseled/amd64/Dockerfile b/src/aspnet/9.0/noble-chiseled/amd64/Dockerfile index 1771bfb7d6..1f6466e1cb 100644 --- a/src/aspnet/9.0/noble-chiseled/amd64/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-amd64 +FROM $REPO:9.0.2-noble-chiseled-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile b/src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile index 8363b9bfe2..6aac68a08d 100644 --- a/src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='fa75d8d5ae99ade0d1ab90018839fe3f5ddc4e7b7461715caf2b0bf7a88c8e86e1d4f10ab69703d2318b289c0700846e2155746d7bb1ace3d2d12e175ab18be1' \ + && aspnetcore_sha512='5576751ea9414449add100cb60c917f72305209dc831ecd3698b8ef6a69e2a802850148b33caf5a05d049be66b19c7404531ea6ecd643cc1fd6ae61179e1249b' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile b/src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile index 26fbcfd94a..7d21d9a8fc 100644 --- a/src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/aspnet/9.0/noble-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf aspnetcore.tar.gz -C /dotnet ./shared/Microsoft.AspNetCore.App \ @@ -14,9 +14,9 @@ RUN aspnetcore_version=9.0.1 \ # ASP.NET Core image -FROM $REPO:9.0.1-noble-chiseled-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/aspnet/9.0/noble/amd64/Dockerfile b/src/aspnet/9.0/noble/amd64/Dockerfile index 08016fbac1..4d0d461738 100644 --- a/src/aspnet/9.0/noble/amd64/Dockerfile +++ b/src/aspnet/9.0/noble/amd64/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ - && aspnetcore_sha512='e5fc3093aed5756deae3e61f98b9f4bb0c847319db30cbd1668c2511e06529c2f6a5e1917ec776fe2b36a1f7bb7e009fc925fee57f87696a8d502a6c8f5dc613' \ + && aspnetcore_sha512='48a39dd4bee3e719273a4e4404b556e2e59e7f659def49f89745ae575fc976f7ebf121d9263c3d009db6081976f8261ca82de34aef69b0776a28fd0485bb6d3b' \ && 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:9.0.1-noble-amd64 +FROM $REPO:9.0.2-noble-amd64 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/noble/arm32v7/Dockerfile b/src/aspnet/9.0/noble/arm32v7/Dockerfile index 30fb716980..1832889419 100644 --- a/src/aspnet/9.0/noble/arm32v7/Dockerfile +++ b/src/aspnet/9.0/noble/arm32v7/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz \ - && aspnetcore_sha512='fa75d8d5ae99ade0d1ab90018839fe3f5ddc4e7b7461715caf2b0bf7a88c8e86e1d4f10ab69703d2318b289c0700846e2155746d7bb1ace3d2d12e175ab18be1' \ + && aspnetcore_sha512='5576751ea9414449add100cb60c917f72305209dc831ecd3698b8ef6a69e2a802850148b33caf5a05d049be66b19c7404531ea6ecd643cc1fd6ae61179e1249b' \ && 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:9.0.1-noble-arm32v7 +FROM $REPO:9.0.2-noble-arm32v7 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/noble/arm64v8/Dockerfile b/src/aspnet/9.0/noble/arm64v8/Dockerfile index e8f9ba25c9..7618a16bdf 100644 --- a/src/aspnet/9.0/noble/arm64v8/Dockerfile +++ b/src/aspnet/9.0/noble/arm64v8/Dockerfile @@ -4,18 +4,18 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve ASP.NET Core -RUN aspnetcore_version=9.0.1 \ +RUN aspnetcore_version=9.0.2 \ && curl -fSL --output aspnetcore.tar.gz https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz \ - && aspnetcore_sha512='e37dc1445e53c00bd950a531fab83354defbbe06c6f73af4bbef20bfcedc0483a98f478369a7bc7d7e52e35b2b33ad73781e255b46900d831e2770cd445d69c5' \ + && aspnetcore_sha512='aa95ed396e5012cb7815db25f07b196261b91e4ca2e7ba07352896e1ab351a96232fdb692fbde1d1ddd1c916987353d2d3382e9e16bd7a97ce4b411c6426e0f6' \ && 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:9.0.1-noble-arm64v8 +FROM $REPO:9.0.2-noble-arm64v8 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile index 75af28899c..7ffc41834d 100644 --- a/src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/aspnet/9.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -1,10 +1,10 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-windowsservercore-ltsc2019 +FROM $REPO:9.0.2-windowsservercore-ltsc2019 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core Runtime RUN powershell -Command ` @@ -12,7 +12,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` - $aspnetcore_sha512 = '613492bec0899bc451b11c572024feca2e068a471f2275b55b276c0eae85a695e2b7582b07101b9bc75e32cba6c198dc50ca65df0564e1c4c0241fe45db60c7d'; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile index 118fff269c..47d13e5520 100644 --- a/src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/aspnet/9.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -1,10 +1,10 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/runtime -FROM $REPO:9.0.1-windowsservercore-ltsc2022 +FROM $REPO:9.0.2-windowsservercore-ltsc2022 # ASP.NET Core version -ENV ASPNET_VERSION=9.0.1 +ENV ASPNET_VERSION=9.0.2 # Install ASP.NET Core Runtime RUN powershell -Command ` @@ -12,7 +12,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` - $aspnetcore_sha512 = '613492bec0899bc451b11c572024feca2e068a471f2275b55b276c0eae85a695e2b7582b07101b9bc75e32cba6c198dc50ca65df0564e1c4c0241fe45db60c7d'; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` if ((Get-FileHash aspnetcore.zip -Algorithm sha512).Hash -ne $aspnetcore_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/aspnet/9.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/aspnet/9.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..9ebd3cdccb --- /dev/null +++ b/src/aspnet/9.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,22 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime +FROM $REPO:9.0.2-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=9.0.2 + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile aspnetcore.zip https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/$Env:ASPNET_VERSION/aspnetcore-runtime-$Env:ASPNET_VERSION-win-x64.zip; ` + $aspnetcore_sha512 = '0a5b0d4a0ac65dc0b11b104154143ef310e47b3aa92dbff32e7002d1ea6005b6444a6699eb03a5c728326c6ad97234a1fc9607972a133130727173247111472e'; ` + 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/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile b/src/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile index d367830de3..f815d5032d 100644 --- a/src/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile +++ b/src/monitor-base/8.0/cbl-mariner-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=8.0.7 \ +RUN dotnet_monitor_version=8.0.8 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz \ - && dotnet_monitor_base_sha512='c5a7a88c2f288e8ce307cfe6c012bb8772249bcecee7613a6ceae1e1c6978572ad78208f6d03b3a401411a3f3ea56d128e20ee4ee5a9ccf94f111602c6652594' \ + && dotnet_monitor_base_sha512='1761d0754ed60014cca4e5c76d2c0abb2e2aaea91f22800c3411397fbde012120610abb5c46398f841031b2bfeb16d59ef0ab81d49dccc1a9648d6a6c06a6c15' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -20,7 +20,7 @@ RUN dotnet_monitor_version=8.0.7 \ # .NET Monitor Base image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-amd64 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile b/src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile index d3a744d4d3..5c3046054d 100644 --- a/src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile +++ b/src/monitor-base/8.0/cbl-mariner-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=8.0.7 \ +RUN dotnet_monitor_version=8.0.8 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz \ - && dotnet_monitor_base_sha512='9a6746d1158e87f22922956c8959b6b8ea72d567c44a2709a09c7e7a1bacf6327792124bedcdead26b035ddd912ee7acc8e10f87fdccc68b955e861dfc5da12e' \ + && dotnet_monitor_base_sha512='095888e19feb703460cf920e15d7044d689f5f928ea3c00083f14787d471393db3bceedb8b7c63db154340346ba1753350fe62831598c2942588ba7cc1cd91f0' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -20,7 +20,7 @@ RUN dotnet_monitor_version=8.0.7 \ # .NET Monitor Base image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-arm64v8 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile b/src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile index a0c15f55b8..247f1ef630 100644 --- a/src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile +++ b/src/monitor-base/8.0/ubuntu-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=8.0.7 \ +RUN dotnet_monitor_version=8.0.8 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz \ - && dotnet_monitor_base_sha512='c5a7a88c2f288e8ce307cfe6c012bb8772249bcecee7613a6ceae1e1c6978572ad78208f6d03b3a401411a3f3ea56d128e20ee4ee5a9ccf94f111602c6652594' \ + && dotnet_monitor_base_sha512='1761d0754ed60014cca4e5c76d2c0abb2e2aaea91f22800c3411397fbde012120610abb5c46398f841031b2bfeb16d59ef0ab81d49dccc1a9648d6a6c06a6c15' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -14,7 +14,7 @@ RUN dotnet_monitor_version=8.0.7 \ # .NET Monitor Base image -FROM $REPO:8.0.12-jammy-chiseled-amd64 +FROM $REPO:8.0.13-jammy-chiseled-amd64 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile b/src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile index 92e3b95dfb..de5356a014 100644 --- a/src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile +++ b/src/monitor-base/8.0/ubuntu-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=8.0.7 \ +RUN dotnet_monitor_version=8.0.8 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz \ - && dotnet_monitor_base_sha512='9a6746d1158e87f22922956c8959b6b8ea72d567c44a2709a09c7e7a1bacf6327792124bedcdead26b035ddd912ee7acc8e10f87fdccc68b955e861dfc5da12e' \ + && dotnet_monitor_base_sha512='095888e19feb703460cf920e15d7044d689f5f928ea3c00083f14787d471393db3bceedb8b7c63db154340346ba1753350fe62831598c2942588ba7cc1cd91f0' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -14,7 +14,7 @@ RUN dotnet_monitor_version=8.0.7 \ # .NET Monitor Base image -FROM $REPO:8.0.12-jammy-chiseled-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-arm64v8 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor-base/8.1/cbl-mariner-distroless/amd64/Dockerfile b/src/monitor-base/8.1/cbl-mariner-distroless/amd64/Dockerfile new file mode 100644 index 0000000000..cb4396dc84 --- /dev/null +++ b/src/monitor-base/8.1/cbl-mariner-distroless/amd64/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz \ + && dotnet_monitor_base_sha512='e42d7d15c137b7d9a53fca4225014ae13a01314346ab76cd9a60eadace1c9e71be5a1e4dc00808929f33fca43bda638f1810e0e114a330e317a45ac1d3028b0c' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/src/monitor-base/8.1/cbl-mariner-distroless/arm64v8/Dockerfile b/src/monitor-base/8.1/cbl-mariner-distroless/arm64v8/Dockerfile new file mode 100644 index 0000000000..1d0a9a827a --- /dev/null +++ b/src/monitor-base/8.1/cbl-mariner-distroless/arm64v8/Dockerfile @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz \ + && dotnet_monitor_base_sha512='156bef1ab4790423155a4a9d01b94769b1e506f3f571590ef90cef1527beaeb0927bdf2c18f29192abd9873a39a7252930c52567f8c79b1e1db0c5574c1e583c' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/src/monitor-base/8.1/ubuntu-chiseled/amd64/Dockerfile b/src/monitor-base/8.1/ubuntu-chiseled/amd64/Dockerfile new file mode 100644 index 0000000000..987bcac61f --- /dev/null +++ b/src/monitor-base/8.1/ubuntu-chiseled/amd64/Dockerfile @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz \ + && dotnet_monitor_base_sha512='e42d7d15c137b7d9a53fca4225014ae13a01314346ab76cd9a60eadace1c9e71be5a1e4dc00808929f33fca43bda638f1810e0e114a330e317a45ac1d3028b0c' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:8.0.13-jammy-chiseled-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/src/monitor-base/8.1/ubuntu-chiseled/arm64v8/Dockerfile b/src/monitor-base/8.1/ubuntu-chiseled/arm64v8/Dockerfile new file mode 100644 index 0000000000..f5d9495621 --- /dev/null +++ b/src/monitor-base/8.1/ubuntu-chiseled/arm64v8/Dockerfile @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz \ + && dotnet_monitor_base_sha512='156bef1ab4790423155a4a9d01b94769b1e506f3f571590ef90cef1527beaeb0927bdf2c18f29192abd9873a39a7252930c52567f8c79b1e1db0c5574c1e583c' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:8.0.13-jammy-chiseled-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile b/src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile index 1d5a297763..e7aedb88bb 100644 --- a/src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile +++ b/src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=9.0.1 \ +RUN dotnet_monitor_version=9.0.2 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz \ - && dotnet_monitor_base_sha512='8ab4755e561e052f0ad4e1bbd20fb8f254fd4adc7b700d8f6a7a2472ff6d5bf9a7632ac0118cd0ef3b70587360a60975c7b44fbcca5e5655dfa2db225075ce4f' \ + && dotnet_monitor_base_sha512='6b2c21a5bccf45d1fd1e0646b35c91c4655ef1d3711c1e5a68681cb56f2994b5a8b6f3fbf132b0668a0a6a904ed16a32c98983d2dc18d618acb201bb0d12ca78' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -20,7 +20,7 @@ RUN dotnet_monitor_version=9.0.1 \ # .NET Monitor Base image -FROM $REPO:9.0.1-azurelinux3.0-distroless-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-amd64 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile b/src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile index 8f03aac0da..9951187ee1 100644 --- a/src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile +++ b/src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor Base -RUN dotnet_monitor_version=9.0.1 \ +RUN dotnet_monitor_version=9.0.2 \ && curl -fSL --output dotnet-monitor-base.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz \ - && dotnet_monitor_base_sha512='a3d6971bf58cf7db5498326a62dccf9aa25e85c2eb82b65148626c69406d11ab51dad9e49081b73a1eefbfed5396baf026148f73811be53579657e59994e7aff' \ + && dotnet_monitor_base_sha512='27b3783b2dd0c028ce080f2a4a3159b625e38cc62b1707bfedf8a3ff1415c310329af191aa4ba46922e76cb7ad6fd85dc425ba2d31c2d3b8b687cb1db9d627f8' \ && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ && mkdir -p /app \ && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ @@ -20,7 +20,7 @@ RUN dotnet_monitor_version=9.0.1 \ # .NET Monitor Base image -FROM $REPO:9.0.1-azurelinux3.0-distroless-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-arm64v8 WORKDIR /app COPY --from=installer /app . diff --git a/src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile b/src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile index a27ee90e12..dcd1a799f0 100644 --- a/src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile +++ b/src/monitor/8.0/cbl-mariner-distroless/amd64/Dockerfile @@ -10,13 +10,13 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=8.0.7 \ +RUN dotnet_monitor_extension_version=8.0.8 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='2dd977feb78c424e55ffc400a08afc66de45c11ef675ba31f9e3c8a74cb06d658638023ae19adee7af384fab3c15a6b2bcd91058f9dddaea3d78bf16422f2779' \ + && dotnet_monitor_extension_sha512='457c29126ff164ac06e82525d4c54835f263f5447d2ab65a8c228181e0de3f47291668f0f2c3ff204c462f5110d6ed053a5d169231b17af9e959a2ffb745bd23' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='e3debc9dde46bc8234a44d5ef2d1be7e5e759079bb80b942b803deeb5d64c30a047aa8dfa5eb94f00d846f919f6a05999ac82fb2dbbc896a865b10a5c37a085e' \ + && dotnet_monitor_extension_sha512='fa6b0db58bf70e1c242703fb3f555ad0754b3fe0829ab539b1ad06c58c47287a3f02fc11f2f23f13f4a94400eaa157c3ef159d19a9d2b327f2963d5a1bb3ef64' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -27,6 +27,6 @@ RUN dotnet_monitor_extension_version=8.0.7 \ # .NET Monitor image -FROM $REPO:8.0.7-cbl-mariner-distroless-amd64 +FROM $REPO:8.0.8-cbl-mariner-distroless-amd64 COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile b/src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile index 3d55ce5b9f..74cf308d4a 100644 --- a/src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile +++ b/src/monitor/8.0/cbl-mariner-distroless/arm64v8/Dockerfile @@ -10,13 +10,13 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=8.0.7 \ +RUN dotnet_monitor_extension_version=8.0.8 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='d0bf4c2bf5959d4b7925a2246a332c59903de50d2f91ae0e80525d5a70d37ba5f59acda9971e6b80add3c8143c2b428b32e00c3002c7a851ee10ee1bfdb8d6ad' \ + && dotnet_monitor_extension_sha512='d42e7bbf900f5432e76dae983f28f3bfbd0cb1eab0433197379edaee1fe013ad8d2f78df7502476f589a234521e8b1c8fd873de048a0d92eaa87f4f8b4cfc357' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='42763e716154a054d338eb55c4a4f0dea801282e0f6a43d6de2a695448f4767e45b446797ca5a691c0ad48f77973285c2cc51aefe439e7ec791b8e2bfd73e724' \ + && dotnet_monitor_extension_sha512='0fcd310d795938c96d2c8b30fc4b705207b9e00f6463914d9d55e8640796861d719f71359b2b09d92fc1fe103307ed6fb4a3fe261e22b17df39ccee6607d42dc' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -27,6 +27,6 @@ RUN dotnet_monitor_extension_version=8.0.7 \ # .NET Monitor image -FROM $REPO:8.0.7-cbl-mariner-distroless-arm64v8 +FROM $REPO:8.0.8-cbl-mariner-distroless-arm64v8 COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile b/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile index 17e95bb709..ba8a9e2deb 100644 --- a/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile +++ b/src/monitor/8.0/ubuntu-chiseled/amd64/Dockerfile @@ -4,13 +4,13 @@ ARG REPO=mcr.microsoft.com/dotnet/monitor/base FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=8.0.7 \ +RUN dotnet_monitor_extension_version=8.0.8 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='2dd977feb78c424e55ffc400a08afc66de45c11ef675ba31f9e3c8a74cb06d658638023ae19adee7af384fab3c15a6b2bcd91058f9dddaea3d78bf16422f2779' \ + && dotnet_monitor_extension_sha512='457c29126ff164ac06e82525d4c54835f263f5447d2ab65a8c228181e0de3f47291668f0f2c3ff204c462f5110d6ed053a5d169231b17af9e959a2ffb745bd23' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='e3debc9dde46bc8234a44d5ef2d1be7e5e759079bb80b942b803deeb5d64c30a047aa8dfa5eb94f00d846f919f6a05999ac82fb2dbbc896a865b10a5c37a085e' \ + && dotnet_monitor_extension_sha512='fa6b0db58bf70e1c242703fb3f555ad0754b3fe0829ab539b1ad06c58c47287a3f02fc11f2f23f13f4a94400eaa157c3ef159d19a9d2b327f2963d5a1bb3ef64' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -21,6 +21,6 @@ RUN dotnet_monitor_extension_version=8.0.7 \ # .NET Monitor image -FROM $REPO:8.0.7-ubuntu-chiseled-amd64 +FROM $REPO:8.0.8-ubuntu-chiseled-amd64 COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile b/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile index cc283ea1fc..710aeb50a2 100644 --- a/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile +++ b/src/monitor/8.0/ubuntu-chiseled/arm64v8/Dockerfile @@ -4,13 +4,13 @@ ARG REPO=mcr.microsoft.com/dotnet/monitor/base FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=8.0.7 \ +RUN dotnet_monitor_extension_version=8.0.8 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='d0bf4c2bf5959d4b7925a2246a332c59903de50d2f91ae0e80525d5a70d37ba5f59acda9971e6b80add3c8143c2b428b32e00c3002c7a851ee10ee1bfdb8d6ad' \ + && dotnet_monitor_extension_sha512='d42e7bbf900f5432e76dae983f28f3bfbd0cb1eab0433197379edaee1fe013ad8d2f78df7502476f589a234521e8b1c8fd873de048a0d92eaa87f4f8b4cfc357' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='42763e716154a054d338eb55c4a4f0dea801282e0f6a43d6de2a695448f4767e45b446797ca5a691c0ad48f77973285c2cc51aefe439e7ec791b8e2bfd73e724' \ + && dotnet_monitor_extension_sha512='0fcd310d795938c96d2c8b30fc4b705207b9e00f6463914d9d55e8640796861d719f71359b2b09d92fc1fe103307ed6fb4a3fe261e22b17df39ccee6607d42dc' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -21,6 +21,6 @@ RUN dotnet_monitor_extension_version=8.0.7 \ # .NET Monitor image -FROM $REPO:8.0.7-ubuntu-chiseled-arm64v8 +FROM $REPO:8.0.8-ubuntu-chiseled-arm64v8 COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.1/cbl-mariner-distroless/amd64/Dockerfile b/src/monitor/8.1/cbl-mariner-distroless/amd64/Dockerfile new file mode 100644 index 0000000000..0867b78cd7 --- /dev/null +++ b/src/monitor/8.1/cbl-mariner-distroless/amd64/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ + && dotnet_monitor_extension_sha512='74f7ab9178cfc313344eed149ef883254dba17f9ee41547e58a0c121d4943342963d00d6133fccf1244bd80c16cf6069b8873532a95bf04bff38fed44bc2978a' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ + && dotnet_monitor_extension_sha512='750b86927b6f0d9e87d184552c244158302b231e87ca3ea84452eb035287602c666396a4fab8e337090c9cf036f6bc58551236f71a2eecdeac12cfce702cdee0' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:8.1.0-cbl-mariner-distroless-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.1/cbl-mariner-distroless/arm64v8/Dockerfile b/src/monitor/8.1/cbl-mariner-distroless/arm64v8/Dockerfile new file mode 100644 index 0000000000..c7c1942b9f --- /dev/null +++ b/src/monitor/8.1/cbl-mariner-distroless/arm64v8/Dockerfile @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ + && dotnet_monitor_extension_sha512='77f2ba22b6e412020296b9d28b3dde20dba514902a584fbe8f6eef04cdd23a9fb3a56bea4808aec6be8cc86b02c6c7f2925102b201cd7413e99d370715e4fbba' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ + && dotnet_monitor_extension_sha512='5142d86c818aa9de4e84b71e7571bfd8bc61607bb8d5863413ef4a5e15eff88f0ef44e27464062bf31c4e7704c256ad272d8151b79392cfee93a265775966202' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:8.1.0-cbl-mariner-distroless-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.1/ubuntu-chiseled/amd64/Dockerfile b/src/monitor/8.1/ubuntu-chiseled/amd64/Dockerfile new file mode 100644 index 0000000000..12bd51cde6 --- /dev/null +++ b/src/monitor/8.1/ubuntu-chiseled/amd64/Dockerfile @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ + && dotnet_monitor_extension_sha512='74f7ab9178cfc313344eed149ef883254dba17f9ee41547e58a0c121d4943342963d00d6133fccf1244bd80c16cf6069b8873532a95bf04bff38fed44bc2978a' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ + && dotnet_monitor_extension_sha512='750b86927b6f0d9e87d184552c244158302b231e87ca3ea84452eb035287602c666396a4fab8e337090c9cf036f6bc58551236f71a2eecdeac12cfce702cdee0' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:8.1.0-ubuntu-chiseled-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/8.1/ubuntu-chiseled/arm64v8/Dockerfile b/src/monitor/8.1/ubuntu-chiseled/arm64v8/Dockerfile new file mode 100644 index 0000000000..eadf1a0423 --- /dev/null +++ b/src/monitor/8.1/ubuntu-chiseled/arm64v8/Dockerfile @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=8.1.0 \ + && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ + && dotnet_monitor_extension_sha512='77f2ba22b6e412020296b9d28b3dde20dba514902a584fbe8f6eef04cdd23a9fb3a56bea4808aec6be8cc86b02c6c7f2925102b201cd7413e99d370715e4fbba' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ + && dotnet_monitor_extension_sha512='5142d86c818aa9de4e84b71e7571bfd8bc61607bb8d5863413ef4a5e15eff88f0ef44e27464062bf31c4e7704c256ad272d8151b79392cfee93a265775966202' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:8.1.0-ubuntu-chiseled-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile b/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile index 7bbdbe6622..31a0e6cb4e 100644 --- a/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile +++ b/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile @@ -10,13 +10,13 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=9.0.1 \ +RUN dotnet_monitor_extension_version=9.0.2 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='982f2acab2b8018a5ff88ca87ad816ce7cdf4a080ca40da298ad87b2fa44cbb0c24f469a72b92e78f58bd4b2af666883db7da181094c9f12b39354ef6a9d6809' \ + && dotnet_monitor_extension_sha512='27214abc1d89fac9557fcdc017278bf88425d70fe62515b0cedbc4ce1f7f849dff8e799560deac68f886c028285b930411a66c7a930ff04d72b8cdfe831f99a7' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz \ - && dotnet_monitor_extension_sha512='d048d8828ddd8b7a9faca8ddb713cb252ad56f713be78465a51d2ede30135257df6bc7db9a5014809a960243807f91a9cd8eca4e20bdd5fd87aa53daecf2773a' \ + && dotnet_monitor_extension_sha512='4dfc3b612b4b8389216e232144b61ff82a1e1da9a7414b2d21bf083ad38a980569f69c605919deeac8af05188254fcfc7651d3606845405d45af2d0f5a96b5bd' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -27,6 +27,6 @@ RUN dotnet_monitor_extension_version=9.0.1 \ # .NET Monitor image -FROM $REPO:9.0.1-amd64 +FROM $REPO:9.0.2-amd64 COPY --from=installer ["/app", "/app"] diff --git a/src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile b/src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile index 2bce41972c..1021d4aadd 100644 --- a/src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile +++ b/src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile @@ -10,13 +10,13 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Monitor extensions -RUN dotnet_monitor_extension_version=9.0.1 \ +RUN dotnet_monitor_extension_version=9.0.2 \ && curl -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='05cacb948c98e24849a0344c23adcd576129c797a5639b544d46fd6b5925469f27fe692c85ca4bfffd872f65a9c1261ffb694ff41675ec4881f9de2b5342a0f0' \ + && dotnet_monitor_extension_sha512='b2051d357b3dbea9fdd5d17d6b99d69c5aa149293c740d0141c5c7a5327dd1df0f0547f369c6248cb9db297b8033b7ecd2870db443a4c9fdcbda36d5e7208f6b' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ \ && curl -fSL --output dotnet-monitor-egress-s3storage.tar.gz https://builds.dotnet.microsoft.com/dotnet/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz \ - && dotnet_monitor_extension_sha512='2b57d6908e828e8316d8a3aa6c21037954cf4e9a606ed2d9b16e19bdb5e0c74b69b87c2e9539d47b810a0967a75bbec1269264d7799f47a174f54018afa2fe1d' \ + && dotnet_monitor_extension_sha512='06d9c1997b298c68132f5536a7b517e6c8422b9d09e75a90603b6c18abd7f851625ba8b162a761f6575fcb06b47e4ac11e55e7d494f744e1594638c7dcbb474c' \ && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ \ && mkdir -p /app \ @@ -27,6 +27,6 @@ RUN dotnet_monitor_extension_version=9.0.1 \ # .NET Monitor image -FROM $REPO:9.0.1-arm64v8 +FROM $REPO:9.0.2-arm64v8 COPY --from=installer ["/app", "/app"] diff --git a/src/runtime/8.0/alpine3.20/amd64/Dockerfile b/src/runtime/8.0/alpine3.20/amd64/Dockerfile index 5df0b4159d..7310f8c014 100644 --- a/src/runtime/8.0/alpine3.20/amd64/Dockerfile +++ b/src/runtime/8.0/alpine3.20/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-amd64 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='2a97a07e9fb2dcc8225850c9574a014f9a111147d87ded6293eb7bf26cf6bee6cc516713c02c13a08e9776dbadd583627f05e6e62daaaf96f653e28c0b37b25e' \ + && dotnet_sha512='fac7a79de9e79ca05583acb04c086b1a573ada0895b7c730176c181f0d39da82ac2ba5426681ded6d5b1d904e97c585082cc9b56d8c5207fee3e93b88b139505' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/alpine3.20/arm32v7/Dockerfile b/src/runtime/8.0/alpine3.20/arm32v7/Dockerfile index 37c79b573f..fb4ff4b0df 100644 --- a/src/runtime/8.0/alpine3.20/arm32v7/Dockerfile +++ b/src/runtime/8.0/alpine3.20/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-arm32v7 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='ec9b034f550e807b4d4ff5b07c6c7d90959eb4d6db5d97b8b245269da6ba873fe27822491181fe34e49b6e988614640b275424a58586f022915ea48acde906b2' \ + && dotnet_sha512='a8c284406cdbbb8ef90aede0a9507deaf3cefc7966ca8de04576bbb3bae260b81b16b2441d4d4385792ecc3417ea1ab3aeceab5497f8665e70dfa55ef7e5af2b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/alpine3.20/arm64v8/Dockerfile b/src/runtime/8.0/alpine3.20/arm64v8/Dockerfile index 10cfe3422f..db246a41fa 100644 --- a/src/runtime/8.0/alpine3.20/arm64v8/Dockerfile +++ b/src/runtime/8.0/alpine3.20/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.20-arm64v8 +FROM $REPO:8.0.13-alpine3.20-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='b369b71b483adc7cd53d3c57ccea1ed929e441582e21f31989429d31ff6bdaa0e6fe75549402a8c3cd2dddb935c18c432d2c72c486d03467f27a52e009a18963' \ + && dotnet_sha512='7b469196495ed00d9cfb166558704c22ac572be11fc4df936d86912d9c306b101ba3411b68e95c8d199f86ba48caa42d9e2b068ceae27b47347dc50b7b96ad18' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/alpine3.21/amd64/Dockerfile b/src/runtime/8.0/alpine3.21/amd64/Dockerfile index 7555dd90af..9eda0d9660 100644 --- a/src/runtime/8.0/alpine3.21/amd64/Dockerfile +++ b/src/runtime/8.0/alpine3.21/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-amd64 +FROM $REPO:8.0.13-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='2a97a07e9fb2dcc8225850c9574a014f9a111147d87ded6293eb7bf26cf6bee6cc516713c02c13a08e9776dbadd583627f05e6e62daaaf96f653e28c0b37b25e' \ + && dotnet_sha512='fac7a79de9e79ca05583acb04c086b1a573ada0895b7c730176c181f0d39da82ac2ba5426681ded6d5b1d904e97c585082cc9b56d8c5207fee3e93b88b139505' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/alpine3.21/arm32v7/Dockerfile b/src/runtime/8.0/alpine3.21/arm32v7/Dockerfile index 8c4f4bbb02..ea1cf7fca2 100644 --- a/src/runtime/8.0/alpine3.21/arm32v7/Dockerfile +++ b/src/runtime/8.0/alpine3.21/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-arm32v7 +FROM $REPO:8.0.13-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='ec9b034f550e807b4d4ff5b07c6c7d90959eb4d6db5d97b8b245269da6ba873fe27822491181fe34e49b6e988614640b275424a58586f022915ea48acde906b2' \ + && dotnet_sha512='a8c284406cdbbb8ef90aede0a9507deaf3cefc7966ca8de04576bbb3bae260b81b16b2441d4d4385792ecc3417ea1ab3aeceab5497f8665e70dfa55ef7e5af2b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/alpine3.21/arm64v8/Dockerfile b/src/runtime/8.0/alpine3.21/arm64v8/Dockerfile index e054c89568..eed8364b9d 100644 --- a/src/runtime/8.0/alpine3.21/arm64v8/Dockerfile +++ b/src/runtime/8.0/alpine3.21/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:8.0.12-alpine3.21-arm64v8 +FROM $REPO:8.0.13-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=8.0.12 +ENV DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='b369b71b483adc7cd53d3c57ccea1ed929e441582e21f31989429d31ff6bdaa0e6fe75549402a8c3cd2dddb935c18c432d2c72c486d03467f27a52e009a18963' \ + && dotnet_sha512='7b469196495ed00d9cfb166558704c22ac572be11fc4df936d86912d9c306b101ba3411b68e95c8d199f86ba48caa42d9e2b068ceae27b47347dc50b7b96ad18' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile index b2f98a6234..3229a0f1dd 100644 --- a/src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile index 8e1535def0..0329e29a57 100644 --- a/src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile index b02928328c..bc7cd44979 100644 --- a/src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-distroless-amd64 +FROM $REPO:8.0.13-azurelinux3.0-distroless-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile index 0b22d9e157..869b5e462b 100644 --- a/src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-distroless-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-distroless-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/azurelinux3.0/amd64/Dockerfile b/src/runtime/8.0/azurelinux3.0/amd64/Dockerfile index 582cebb8a8..3e01e8a20e 100644 --- a/src/runtime/8.0/azurelinux3.0/amd64/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0/amd64/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:8.0.12-azurelinux3.0-amd64 AS installer +FROM $REPO:8.0.13-azurelinux3.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-amd64 +FROM $REPO:8.0.13-azurelinux3.0-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile b/src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile index fc8e0d8d84..98eb30fb89 100644 --- a/src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/runtime/8.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:8.0.12-azurelinux3.0-arm64v8 AS installer +FROM $REPO:8.0.13-azurelinux3.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-azurelinux3.0-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/bookworm-slim/amd64/Dockerfile b/src/runtime/8.0/bookworm-slim/amd64/Dockerfile index 84220a9492..07d81970af 100644 --- a/src/runtime/8.0/bookworm-slim/amd64/Dockerfile +++ b/src/runtime/8.0/bookworm-slim/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-bookworm-slim-amd64 +FROM $REPO:8.0.13-bookworm-slim-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile b/src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile index a58e3c8015..a7de4ab559 100644 --- a/src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/runtime/8.0/bookworm-slim/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0' \ + && dotnet_sha512='5d018fb50eea96f3e9a56142202ccb1c73a725219d7257b0debbeef3ef196c69b076b98dfb6f098818c0514084df33f6704bc13a478d1727b012d6ba9eea0492' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-bookworm-slim-arm32v7 +FROM $REPO:8.0.13-bookworm-slim-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile b/src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile index 2422b9e11c..3f1fa9827f 100644 --- a/src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/runtime/8.0/bookworm-slim/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-bookworm-slim-arm64v8 +FROM $REPO:8.0.13-bookworm-slim-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile b/src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile index ce15503107..17557f85be 100644 --- a/src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile b/src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile index 9bc18d474a..e4f75ba968 100644 --- a/src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-extra-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile b/src/runtime/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile index fd246f3149..3d3d3fdec0 100644 --- a/src/runtime/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile b/src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile index e6b7e5672a..a514fcccf3 100644 --- a/src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-distroless-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-distroless-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile b/src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile index e860de7661..3f8cf57a16 100644 --- a/src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0/amd64/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:8.0.12-cbl-mariner2.0-amd64 AS installer +FROM $REPO:8.0.13-cbl-mariner2.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile index feb5a41e9e..2f7dc69f3b 100644 --- a/src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile +++ b/src/runtime/8.0/cbl-mariner2.0/arm64v8/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:8.0.12-cbl-mariner2.0-arm64v8 AS installer +FROM $REPO:8.0.13-cbl-mariner2.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-cbl-mariner2.0-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile b/src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile index 3861c99f5a..0d27d21238 100644 --- a/src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-extra-amd64 +FROM $REPO:8.0.13-jammy-chiseled-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile b/src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile index cc9af7f887..5c587fff64 100644 --- a/src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0' \ + && dotnet_sha512='5d018fb50eea96f3e9a56142202ccb1c73a725219d7257b0debbeef3ef196c69b076b98dfb6f098818c0514084df33f6704bc13a478d1727b012d6ba9eea0492' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile b/src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile index 2dd04886c9..a9260c5d99 100644 --- a/src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy-chiseled/amd64/Dockerfile b/src/runtime/8.0/jammy-chiseled/amd64/Dockerfile index ad5a2f651d..15fb6ed68e 100644 --- a/src/runtime/8.0/jammy-chiseled/amd64/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-amd64 +FROM $REPO:8.0.13-jammy-chiseled-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile b/src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile index 09ba58be7c..305931e181 100644 --- a/src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0' \ + && dotnet_sha512='5d018fb50eea96f3e9a56142202ccb1c73a725219d7257b0debbeef3ef196c69b076b98dfb6f098818c0514084df33f6704bc13a478d1727b012d6ba9eea0492' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-arm32v7 +FROM $REPO:8.0.13-jammy-chiseled-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile b/src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile index 038eaa9865..e2bdbfb91e 100644 --- a/src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile +++ b/src/runtime/8.0/jammy-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-jammy-chiseled-arm64v8 +FROM $REPO:8.0.13-jammy-chiseled-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/jammy/amd64/Dockerfile b/src/runtime/8.0/jammy/amd64/Dockerfile index 7dd87450d1..e5105d6182 100644 --- a/src/runtime/8.0/jammy/amd64/Dockerfile +++ b/src/runtime/8.0/jammy/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-jammy-amd64 +FROM $REPO:8.0.13-jammy-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/jammy/arm32v7/Dockerfile b/src/runtime/8.0/jammy/arm32v7/Dockerfile index f8ae770afa..a60cb62fcf 100644 --- a/src/runtime/8.0/jammy/arm32v7/Dockerfile +++ b/src/runtime/8.0/jammy/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0' \ + && dotnet_sha512='5d018fb50eea96f3e9a56142202ccb1c73a725219d7257b0debbeef3ef196c69b076b98dfb6f098818c0514084df33f6704bc13a478d1727b012d6ba9eea0492' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-jammy-arm32v7 +FROM $REPO:8.0.13-jammy-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/jammy/arm64v8/Dockerfile b/src/runtime/8.0/jammy/arm64v8/Dockerfile index 3446d9454b..3d187b51cd 100644 --- a/src/runtime/8.0/jammy/arm64v8/Dockerfile +++ b/src/runtime/8.0/jammy/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-jammy-arm64v8 +FROM $REPO:8.0.13-jammy-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/nanoserver-1809/amd64/Dockerfile b/src/runtime/8.0/nanoserver-1809/amd64/Dockerfile index 94ef79d5d3..154c0c16ca 100644 --- a/src/runtime/8.0/nanoserver-1809/amd64/Dockerfile +++ b/src/runtime/8.0/nanoserver-1809/amd64/Dockerfile @@ -8,9 +8,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $dotnet_version = '8.0.12'; ` + $dotnet_version = '8.0.13'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` - $dotnet_sha512 = '6e08f5290183569daef70b558939246fb72930608e291c9941802a350918cca0f4ae30df0bb8fb07cd8f2b18aa4174506c9118892356dc84cd0c7fe6582c0d2d'; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -30,7 +30,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=8.0.12 + DOTNET_VERSION=8.0.13 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile index 05194490c3..5cac84afee 100644 --- a/src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/runtime/8.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -8,9 +8,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $dotnet_version = '8.0.12'; ` + $dotnet_version = '8.0.13'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` - $dotnet_sha512 = '6e08f5290183569daef70b558939246fb72930608e291c9941802a350918cca0f4ae30df0bb8fb07cd8f2b18aa4174506c9118892356dc84cd0c7fe6582c0d2d'; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -30,7 +30,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=8.0.12 + DOTNET_VERSION=8.0.13 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/runtime/8.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/runtime/8.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..8150fe5d4e --- /dev/null +++ b/src/runtime/8.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 = '8.0.13'; ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` + 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=8.0.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/8.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime/8.0/noble-chiseled-extra/amd64/Dockerfile index 8b6a719a12..c1ff80fb18 100644 --- a/src/runtime/8.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/runtime/8.0/noble-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-noble-chiseled-extra-amd64 +FROM $REPO:8.0.13-noble-chiseled-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile index 959e44f5bf..2f83fedcc5 100644 --- a/src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime/8.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-noble-chiseled-extra-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/noble-chiseled/amd64/Dockerfile b/src/runtime/8.0/noble-chiseled/amd64/Dockerfile index e00af7fc09..d8236f3191 100644 --- a/src/runtime/8.0/noble-chiseled/amd64/Dockerfile +++ b/src/runtime/8.0/noble-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-noble-chiseled-amd64 +FROM $REPO:8.0.13-noble-chiseled-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile index 552f93750a..4f49df6e7a 100644 --- a/src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/runtime/8.0/noble-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:8.0.12-noble-chiseled-arm64v8 +FROM $REPO:8.0.13-noble-chiseled-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/8.0/noble/amd64/Dockerfile b/src/runtime/8.0/noble/amd64/Dockerfile index db67224b8f..360c538181 100644 --- a/src/runtime/8.0/noble/amd64/Dockerfile +++ b/src/runtime/8.0/noble/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='e0d216d54e9a21aaefc120a481050f1137cc708cbbd17204f0b1a47dbb6424078e8b44dc842957a6691025cda1490e5061092802484b5fd12c5903f5ba634481' \ + && dotnet_sha512='8649eda14e8bc993f8cb3d421d44a4abb218acf29996ac1ec939686bf657e75b60f2b690180a4654ee15ebb7b95386eabc969ea98209e31e2801620ff90fce43' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-noble-amd64 +FROM $REPO:8.0.13-noble-amd64 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/noble/arm64v8/Dockerfile b/src/runtime/8.0/noble/arm64v8/Dockerfile index 982bf6bd3a..ca0debd7b1 100644 --- a/src/runtime/8.0/noble/arm64v8/Dockerfile +++ b/src/runtime/8.0/noble/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=8.0.12 \ +RUN dotnet_version=8.0.13 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='c300a87e41798fae7ae4920c140bbe3499a1093d418450f9bfa469b045ebe2e5840d95487e937eedbe8ab221e1388aed76fdcc18c92d81778ee43383ba7fe33b' \ + && dotnet_sha512='e6c42ac1758239405c8a740194023b4ade1017def3bf330557dc16312b2f40599be30a8bfc8db05559649cf0eda5fc43af153320f5378dcb4872af13679bce8b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=8.0.12 \ # .NET runtime image -FROM $REPO:8.0.12-noble-arm64v8 +FROM $REPO:8.0.13-noble-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=8.0.12 +ENV DOTNET_VERSION=8.0.13 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/8.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/runtime/8.0/windowsservercore-ltsc2019/amd64/Dockerfile index 046aae4e11..402a10e832 100644 --- a/src/runtime/8.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/runtime/8.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -8,7 +8,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=8.0.12 + DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN powershell -Command ` @@ -16,7 +16,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` - $dotnet_sha512 = '6e08f5290183569daef70b558939246fb72930608e291c9941802a350918cca0f4ae30df0bb8fb07cd8f2b18aa4174506c9118892356dc84cd0c7fe6582c0d2d'; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile index a621725f6c..c40ea43dc6 100644 --- a/src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/runtime/8.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -8,7 +8,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=8.0.12 + DOTNET_VERSION=8.0.13 # Install .NET Runtime RUN powershell -Command ` @@ -16,7 +16,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` - $dotnet_sha512 = '6e08f5290183569daef70b558939246fb72930608e291c9941802a350918cca0f4ae30df0bb8fb07cd8f2b18aa4174506c9118892356dc84cd0c7fe6582c0d2d'; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/runtime/8.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/runtime/8.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..3a1ebd572d --- /dev/null +++ b/src/runtime/8.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=8.0.13 + +# Install .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` + $dotnet_sha512 = 'e7765e8b3b8759b08d9fc48a6f596c478b271ef005b174389011d0ad74da5183325a3739c91e0f3a3f13bac99d44ce20fc015120719c35ac062bb7e3b678ff2d'; ` + 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/9.0/alpine3.20/amd64/Dockerfile b/src/runtime/9.0/alpine3.20/amd64/Dockerfile index 6319dae77c..cff204c5f3 100644 --- a/src/runtime/9.0/alpine3.20/amd64/Dockerfile +++ b/src/runtime/9.0/alpine3.20/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-amd64 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='39bc73be712afcab41425c2e42aa5098133cf9a2080f91d4c65f274c2c6bc6f812793a17f8ed6b3a5bcabde4cc5ee5be83dc9bef9d3f3b10d79d0d3f00b4b55f' \ + && dotnet_sha512='df116ef9b7f6b717b7c7f057e826c9e1f1ed0d743fa6b26e9229fc36e500ab834d19ae1ab55ebc28b1c9b8cb4a7f41c62edd08c2dd2cdcb6e912defea2810ffb' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/alpine3.20/arm32v7/Dockerfile b/src/runtime/9.0/alpine3.20/arm32v7/Dockerfile index bfef045b0a..3a9b8cc12f 100644 --- a/src/runtime/9.0/alpine3.20/arm32v7/Dockerfile +++ b/src/runtime/9.0/alpine3.20/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-arm32v7 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='ac8a7be3ab0895539813c1f67c33aa93ee72e2ac7f2d88ee3ca21f14479e11a4064cde9a7e15a2944222b8d7c2858ddd39de9f6c2d278b4129f5e3ba8b9c38e3' \ + && dotnet_sha512='38e03d8c12fa4520e311cf2d15fb2c2f0e019c7165b13fcbe58fc46914743ecea8e0ac4d914385b1430cfb5e0df3db6299424cfdccea6ffe469a681e2d9d93b7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/alpine3.20/arm64v8/Dockerfile b/src/runtime/9.0/alpine3.20/arm64v8/Dockerfile index c7030fc97b..055f2817f0 100644 --- a/src/runtime/9.0/alpine3.20/arm64v8/Dockerfile +++ b/src/runtime/9.0/alpine3.20/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.20-arm64v8 +FROM $REPO:9.0.2-alpine3.20-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='cf6865754e3c28b63bf4e73db95a2079028b9132ffc6bee4aa7af03ee15c7560a13d07260965833b43985d8b5e2f50a776ff17bf5343605b1c1bc239ddaf3c5c' \ + && dotnet_sha512='0bb0dc7a4388c5b95d4fec9fe7ca1273f9afa502021c73eb946ed2928d6d6d0836414400f667eff30da97b83b04f66d3032c2344bb2587007b4001d75b696a16' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/alpine3.21/amd64/Dockerfile b/src/runtime/9.0/alpine3.21/amd64/Dockerfile index 27bd011e7b..36415c8e00 100644 --- a/src/runtime/9.0/alpine3.21/amd64/Dockerfile +++ b/src/runtime/9.0/alpine3.21/amd64/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-amd64 +FROM $REPO:9.0.2-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='39bc73be712afcab41425c2e42aa5098133cf9a2080f91d4c65f274c2c6bc6f812793a17f8ed6b3a5bcabde4cc5ee5be83dc9bef9d3f3b10d79d0d3f00b4b55f' \ + && dotnet_sha512='df116ef9b7f6b717b7c7f057e826c9e1f1ed0d743fa6b26e9229fc36e500ab834d19ae1ab55ebc28b1c9b8cb4a7f41c62edd08c2dd2cdcb6e912defea2810ffb' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/alpine3.21/arm32v7/Dockerfile b/src/runtime/9.0/alpine3.21/arm32v7/Dockerfile index 48131eb7bc..4de9f323fa 100644 --- a/src/runtime/9.0/alpine3.21/arm32v7/Dockerfile +++ b/src/runtime/9.0/alpine3.21/arm32v7/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-arm32v7 +FROM $REPO:9.0.2-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='ac8a7be3ab0895539813c1f67c33aa93ee72e2ac7f2d88ee3ca21f14479e11a4064cde9a7e15a2944222b8d7c2858ddd39de9f6c2d278b4129f5e3ba8b9c38e3' \ + && dotnet_sha512='38e03d8c12fa4520e311cf2d15fb2c2f0e019c7165b13fcbe58fc46914743ecea8e0ac4d914385b1430cfb5e0df3db6299424cfdccea6ffe469a681e2d9d93b7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/alpine3.21/arm64v8/Dockerfile b/src/runtime/9.0/alpine3.21/arm64v8/Dockerfile index f954414c83..bf28bc5e36 100644 --- a/src/runtime/9.0/alpine3.21/arm64v8/Dockerfile +++ b/src/runtime/9.0/alpine3.21/arm64v8/Dockerfile @@ -1,15 +1,15 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps -FROM $REPO:9.0.1-alpine3.21-arm64v8 +FROM $REPO:9.0.2-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=9.0.1 +ENV DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$DOTNET_VERSION/dotnet-runtime-$DOTNET_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='cf6865754e3c28b63bf4e73db95a2079028b9132ffc6bee4aa7af03ee15c7560a13d07260965833b43985d8b5e2f50a776ff17bf5343605b1c1bc239ddaf3c5c' \ + && dotnet_sha512='0bb0dc7a4388c5b95d4fec9fe7ca1273f9afa502021c73eb946ed2928d6d6d0836414400f667eff30da97b83b04f66d3032c2344bb2587007b4001d75b696a16' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ diff --git a/src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile b/src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile index d183151006..99193df4bb 100644 --- a/src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0-distroless-extra/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile b/src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile index aa6a1926e7..a3f726031d 100644 --- a/src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0-distroless-extra/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-distroless-extra-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile b/src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile index 4aa42ba2f6..aef630c463 100644 --- a/src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0-distroless/amd64/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-distroless-amd64 +FROM $REPO:9.0.2-azurelinux3.0-distroless-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile b/src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile index 2a707d763a..b6d2d218cb 100644 --- a/src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0-distroless/arm64v8/Dockerfile @@ -10,9 +10,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -23,10 +23,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-distroless-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-distroless-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/azurelinux3.0/amd64/Dockerfile b/src/runtime/9.0/azurelinux3.0/amd64/Dockerfile index 9ea7409e1a..497fad1feb 100644 --- a/src/runtime/9.0/azurelinux3.0/amd64/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0/amd64/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:9.0.1-azurelinux3.0-amd64 AS installer +FROM $REPO:9.0.2-azurelinux3.0-amd64 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-amd64 +FROM $REPO:9.0.2-azurelinux3.0-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile b/src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile index 934c58f8df..219d088889 100644 --- a/src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/runtime/9.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,16 +1,16 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps # Installer image -FROM $REPO:9.0.1-azurelinux3.0-arm64v8 AS installer +FROM $REPO:9.0.2-azurelinux3.0-arm64v8 AS installer RUN tdnf install -y \ tar \ && tdnf clean all # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -18,10 +18,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-azurelinux3.0-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/bookworm-slim/amd64/Dockerfile b/src/runtime/9.0/bookworm-slim/amd64/Dockerfile index 7cc2a002dc..cc70a1b7ef 100644 --- a/src/runtime/9.0/bookworm-slim/amd64/Dockerfile +++ b/src/runtime/9.0/bookworm-slim/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-bookworm-slim-amd64 +FROM $REPO:9.0.2-bookworm-slim-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile b/src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile index 274961fd8b..f51d46ce1f 100644 --- a/src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/runtime/9.0/bookworm-slim/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='b1cccb86da9912fcb816413718e264d899e9efc42a19fd8a6ccb8265b65ce4fe8c878d0b8d5c0633b1e0e4b2ff3ee53313a66e3f92c3b153fbdfe3044f1bcc96' \ + && dotnet_sha512='be31b790c8a5347c1a7fb75ecbbab16c675ff5e6352561631220b94d417f19eed07220d5c3972905123704dd6bd67d00138ff42484815e0def7d8ad916a30d94' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-bookworm-slim-arm32v7 +FROM $REPO:9.0.2-bookworm-slim-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile b/src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile index c678942620..fc6b72d94f 100644 --- a/src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/runtime/9.0/bookworm-slim/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:bookworm-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-bookworm-slim-arm64v8 +FROM $REPO:9.0.2-bookworm-slim-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/nanoserver-1809/amd64/Dockerfile b/src/runtime/9.0/nanoserver-1809/amd64/Dockerfile index 53b63b643f..17a6615194 100644 --- a/src/runtime/9.0/nanoserver-1809/amd64/Dockerfile +++ b/src/runtime/9.0/nanoserver-1809/amd64/Dockerfile @@ -8,9 +8,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $dotnet_version = '9.0.1'; ` + $dotnet_version = '9.0.2'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` - $dotnet_sha512 = '30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f'; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -30,7 +30,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=9.0.1 + DOTNET_VERSION=9.0.2 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile index 1598ad4a61..246bbcbe53 100644 --- a/src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/runtime/9.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -8,9 +8,9 @@ RUN powershell -Command ` $ErrorActionPreference = 'Stop'; ` $ProgressPreference = 'SilentlyContinue'; ` ` - $dotnet_version = '9.0.1'; ` + $dotnet_version = '9.0.2'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` - $dotnet_sha512 = '30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f'; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -30,7 +30,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=9.0.1 + DOTNET_VERSION=9.0.2 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/runtime/9.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/runtime/9.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..2b70ee2208 --- /dev/null +++ b/src/runtime/9.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 = '9.0.2'; ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` + 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=9.0.2 + +# 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/9.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime/9.0/noble-chiseled-extra/amd64/Dockerfile index d09d06c5ac..f1422b3cc5 100644 --- a/src/runtime/9.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/runtime/9.0/noble-chiseled-extra/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-extra-amd64 +FROM $REPO:9.0.2-noble-chiseled-extra-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile index c062d37cbe..09b06fe1fe 100644 --- a/src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime/9.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='b1cccb86da9912fcb816413718e264d899e9efc42a19fd8a6ccb8265b65ce4fe8c878d0b8d5c0633b1e0e4b2ff3ee53313a66e3f92c3b153fbdfe3044f1bcc96' \ + && dotnet_sha512='be31b790c8a5347c1a7fb75ecbbab16c675ff5e6352561631220b94d417f19eed07220d5c3972905123704dd6bd67d00138ff42484815e0def7d8ad916a30d94' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-extra-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-extra-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile index 63e06018f4..cbbd6eebf3 100644 --- a/src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime/9.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-extra-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-extra-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble-chiseled/amd64/Dockerfile b/src/runtime/9.0/noble-chiseled/amd64/Dockerfile index c1a077bd94..e76a419de5 100644 --- a/src/runtime/9.0/noble-chiseled/amd64/Dockerfile +++ b/src/runtime/9.0/noble-chiseled/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-amd64 +FROM $REPO:9.0.2-noble-chiseled-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile b/src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile index af95b3100e..d92482cefc 100644 --- a/src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile +++ b/src/runtime/9.0/noble-chiseled/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='b1cccb86da9912fcb816413718e264d899e9efc42a19fd8a6ccb8265b65ce4fe8c878d0b8d5c0633b1e0e4b2ff3ee53313a66e3f92c3b153fbdfe3044f1bcc96' \ + && dotnet_sha512='be31b790c8a5347c1a7fb75ecbbab16c675ff5e6352561631220b94d417f19eed07220d5c3972905123704dd6bd67d00138ff42484815e0def7d8ad916a30d94' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-arm32v7 +FROM $REPO:9.0.2-noble-chiseled-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile index 97daee26f4..4134ca48a8 100644 --- a/src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/runtime/9.0/noble-chiseled/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -oxzf dotnet.tar.gz -C /usr/share/dotnet \ @@ -17,10 +17,10 @@ RUN mkdir /dotnet-symlink \ # .NET runtime image -FROM $REPO:9.0.1-noble-chiseled-arm64v8 +FROM $REPO:9.0.2-noble-chiseled-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] COPY --from=installer ["/dotnet-symlink", "/usr/bin"] diff --git a/src/runtime/9.0/noble/amd64/Dockerfile b/src/runtime/9.0/noble/amd64/Dockerfile index c428cada73..9505db98ee 100644 --- a/src/runtime/9.0/noble/amd64/Dockerfile +++ b/src/runtime/9.0/noble/amd64/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM amd64/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz \ - && dotnet_sha512='d4a31944a5ab063037dca5141dbc8466d0c894b8d2560256782bdbe5a8e86585e8c4c789c40fbe51d56b3853e15adba0985bdc6ae91c85a763565316e1c3cfcb' \ + && dotnet_sha512='dc4af24d5d298392fd53491a56c6d4e3d1e85e3e294cb4a848c7ac8f0dce287f11dcb274f18f95f7db7195681386e5c6b0d99500808c1b3e68b9c6097a3484d7' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-noble-amd64 +FROM $REPO:9.0.2-noble-amd64 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/noble/arm32v7/Dockerfile b/src/runtime/9.0/noble/arm32v7/Dockerfile index 1c70f7d193..0ba46af662 100644 --- a/src/runtime/9.0/noble/arm32v7/Dockerfile +++ b/src/runtime/9.0/noble/arm32v7/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm32v7/buildpack-deps:jammy-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz \ - && dotnet_sha512='b1cccb86da9912fcb816413718e264d899e9efc42a19fd8a6ccb8265b65ce4fe8c878d0b8d5c0633b1e0e4b2ff3ee53313a66e3f92c3b153fbdfe3044f1bcc96' \ + && dotnet_sha512='be31b790c8a5347c1a7fb75ecbbab16c675ff5e6352561631220b94d417f19eed07220d5c3972905123704dd6bd67d00138ff42484815e0def7d8ad916a30d94' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-noble-arm32v7 +FROM $REPO:9.0.2-noble-arm32v7 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/noble/arm64v8/Dockerfile b/src/runtime/9.0/noble/arm64v8/Dockerfile index f98af6e3ea..69838227fd 100644 --- a/src/runtime/9.0/noble/arm64v8/Dockerfile +++ b/src/runtime/9.0/noble/arm64v8/Dockerfile @@ -4,9 +4,9 @@ ARG REPO=mcr.microsoft.com/dotnet/runtime-deps FROM arm64v8/buildpack-deps:noble-curl AS installer # Retrieve .NET Runtime -RUN dotnet_version=9.0.1 \ +RUN dotnet_version=9.0.2 \ && curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz \ - && dotnet_sha512='38399b6139f72ef1d836e418455494a80428bf41f3aaf2351749ff144311766487533d5a3c9bd359c189b9373f24377ae886827f45272c4019e22b594773b87b' \ + && dotnet_sha512='460133ddc2582a209bd80673721e7b9add2b9b2967ef1503a7dc29be2777870870990ee7549351e8207c3e3e84dabeca6d5bdbbdea75e5e3e749eb16bd13e7ef' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /dotnet \ && tar -oxzf dotnet.tar.gz -C /dotnet \ @@ -14,10 +14,10 @@ RUN dotnet_version=9.0.1 \ # .NET runtime image -FROM $REPO:9.0.1-noble-arm64v8 +FROM $REPO:9.0.2-noble-arm64v8 # .NET Runtime version -ENV DOTNET_VERSION=9.0.1 +ENV DOTNET_VERSION=9.0.2 COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile index 91784d2c37..6ab5e730c2 100644 --- a/src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/runtime/9.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -8,7 +8,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=9.0.1 + DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN powershell -Command ` @@ -16,7 +16,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` - $dotnet_sha512 = '30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f'; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile index 7ae99406d4..f5d00ec9af 100644 --- a/src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/runtime/9.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -8,7 +8,7 @@ ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` # .NET Runtime version - DOTNET_VERSION=9.0.1 + DOTNET_VERSION=9.0.2 # Install .NET Runtime RUN powershell -Command ` @@ -16,7 +16,7 @@ RUN powershell -Command ` $ProgressPreference = 'SilentlyContinue'; ` ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` - $dotnet_sha512 = '30b880c3cd6c39355e92b5422e8c044a26fba1da15b4f1f8a89dc4622962c8a3537b075064c33c8493d8bbc909ae8c135a5533110080e95ef31e3407eade291f'; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/runtime/9.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/runtime/9.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..65c0aa02ae --- /dev/null +++ b/src/runtime/9.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=9.0.2 + +# Install .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Runtime/$Env:DOTNET_VERSION/dotnet-runtime-$Env:DOTNET_VERSION-win-x64.zip; ` + $dotnet_sha512 = 'a8c9402fab7f9f9afefea433e2f35f894f8411ea9b7139321b4dd4cc1a39cce59c678158dc0178e376d5bdd11bbdd48c1c748b7d0fdf7cbea7a8c5f8b7afb987'; ` + 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/8.0/alpine3.20/amd64/Dockerfile b/src/sdk/8.0/alpine3.20/amd64/Dockerfile index 2698266657..b08d37ba22 100644 --- a/src/sdk/8.0/alpine3.20/amd64/Dockerfile +++ b/src/sdk/8.0/alpine3.20/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.20-amd64 +FROM $REPO:8.0.13-alpine3.20-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='05078ffbeb35b7aadcf8927c0bf0aec6af5de4e616585deb55743080c0b34bb6e4becaa2e23c2e6c3856bc0826d5e54f96ab6983867c5b1af6307c62ecc01837' \ + && dotnet_sha512='0c7eb2e3530f941fc1bad43de1fb08aa4d23098af47e048cba325b3cc48077cab1b6ec6359cdc88c2ecf6413d1bac14a439878b20d6adb2c6229746018c2e130' \ && 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 \ @@ -35,9 +35,9 @@ RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='d994832c889774de7f8b8d894b20a050e3375a48e148f09d7ed9a80db05336e48549fa13d7ec83589e9347b78929c7852f4ed3e26f42400943fd367a48efde75' \ + && powershell_sha512='9c5fbb87edf9f1b3da05beeeacd69ae361cb60b0eb16079c26a5c6b477a17e4ed1deef31cdb23de43c959eae2a2731cf16188b491db2ad5d398276ca0e71faaf' \ && 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 \ diff --git a/src/sdk/8.0/alpine3.20/arm32v7/Dockerfile b/src/sdk/8.0/alpine3.20/arm32v7/Dockerfile index 32ccffb120..fb168d382d 100644 --- a/src/sdk/8.0/alpine3.20/arm32v7/Dockerfile +++ b/src/sdk/8.0/alpine3.20/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.20-arm32v7 +FROM $REPO:8.0.13-alpine3.20-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='f83accb0ed45b4c9378a54c2c74fd8f559056b7b771af70ad25d62d41dd1c384b795cb89fbde68959db86883b1e89fe6749100c055f2f3089e343b2a5e1f1704' \ + && dotnet_sha512='c4338ad18ae2e0425c4e9d6d51dd266217f33e7b64754483a6eb33b81b96f6e8086314010730166211cb96cc87c9a47fb76aefc3431b03f285cdcae2119a7cbd' \ && 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 \ diff --git a/src/sdk/8.0/alpine3.20/arm64v8/Dockerfile b/src/sdk/8.0/alpine3.20/arm64v8/Dockerfile index 82fecb0bcb..1075186060 100644 --- a/src/sdk/8.0/alpine3.20/arm64v8/Dockerfile +++ b/src/sdk/8.0/alpine3.20/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.20-arm64v8 +FROM $REPO:8.0.13-alpine3.20-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='af728630dee4205f9552f52f4a06f48ddf4aff238abb32edfd01814cc0e710c139f48ef569ad90ede519564b9bc057baffb74eb60b54ec47364c51c5c1cf789c' \ + && dotnet_sha512='1961fec3fae6039134a552d19e86a0e93010fc8d5d3d4c22959eddb45a51eeb00c4703731397ffca802064d73b984a1a557ddaa68374b5a9da014e135b5ea751' \ && 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 \ diff --git a/src/sdk/8.0/alpine3.21/amd64/Dockerfile b/src/sdk/8.0/alpine3.21/amd64/Dockerfile index a027d3c06b..b68310c943 100644 --- a/src/sdk/8.0/alpine3.21/amd64/Dockerfile +++ b/src/sdk/8.0/alpine3.21/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.21-amd64 +FROM $REPO:8.0.13-alpine3.21-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='05078ffbeb35b7aadcf8927c0bf0aec6af5de4e616585deb55743080c0b34bb6e4becaa2e23c2e6c3856bc0826d5e54f96ab6983867c5b1af6307c62ecc01837' \ + && dotnet_sha512='0c7eb2e3530f941fc1bad43de1fb08aa4d23098af47e048cba325b3cc48077cab1b6ec6359cdc88c2ecf6413d1bac14a439878b20d6adb2c6229746018c2e130' \ && 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 \ @@ -35,9 +35,9 @@ RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='d994832c889774de7f8b8d894b20a050e3375a48e148f09d7ed9a80db05336e48549fa13d7ec83589e9347b78929c7852f4ed3e26f42400943fd367a48efde75' \ + && powershell_sha512='9c5fbb87edf9f1b3da05beeeacd69ae361cb60b0eb16079c26a5c6b477a17e4ed1deef31cdb23de43c959eae2a2731cf16188b491db2ad5d398276ca0e71faaf' \ && 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 \ diff --git a/src/sdk/8.0/alpine3.21/arm32v7/Dockerfile b/src/sdk/8.0/alpine3.21/arm32v7/Dockerfile index fb7e0cf114..28f54d10bd 100644 --- a/src/sdk/8.0/alpine3.21/arm32v7/Dockerfile +++ b/src/sdk/8.0/alpine3.21/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.21-arm32v7 +FROM $REPO:8.0.13-alpine3.21-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='f83accb0ed45b4c9378a54c2c74fd8f559056b7b771af70ad25d62d41dd1c384b795cb89fbde68959db86883b1e89fe6749100c055f2f3089e343b2a5e1f1704' \ + && dotnet_sha512='c4338ad18ae2e0425c4e9d6d51dd266217f33e7b64754483a6eb33b81b96f6e8086314010730166211cb96cc87c9a47fb76aefc3431b03f285cdcae2119a7cbd' \ && 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 \ diff --git a/src/sdk/8.0/alpine3.21/arm64v8/Dockerfile b/src/sdk/8.0/alpine3.21/arm64v8/Dockerfile index 0f6d5e8799..e96f3ff553 100644 --- a/src/sdk/8.0/alpine3.21/arm64v8/Dockerfile +++ b/src/sdk/8.0/alpine3.21/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-alpine3.21-arm64v8 +FROM $REPO:8.0.13-alpine3.21-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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) @@ -26,7 +26,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='af728630dee4205f9552f52f4a06f48ddf4aff238abb32edfd01814cc0e710c139f48ef569ad90ede519564b9bc057baffb74eb60b54ec47364c51c5c1cf789c' \ + && dotnet_sha512='1961fec3fae6039134a552d19e86a0e93010fc8d5d3d4c22959eddb45a51eeb00c4703731397ffca802064d73b984a1a557ddaa68374b5a9da014e135b5ea751' \ && 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 \ diff --git a/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile b/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile index 80bb36e649..a592c79caf 100644 --- a/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-azurelinux3.0-amd64 +FROM $REPO:8.0.13-azurelinux3.0-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6' \ + && dotnet_sha512='d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d' \ + && powershell_sha512='3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba' \ && 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 \ diff --git a/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile b/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile index aa1cbdd311..2cac98ef35 100644 --- a/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-azurelinux3.0-arm64v8 +FROM $REPO:8.0.13-azurelinux3.0-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a' \ + && dotnet_sha512='9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1' \ + && powershell_sha512='6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6' \ && 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 \ diff --git a/src/sdk/8.0/bookworm-slim/amd64/Dockerfile b/src/sdk/8.0/bookworm-slim/amd64/Dockerfile index 14a14d3eb5..f7ba22a299 100644 --- a/src/sdk/8.0/bookworm-slim/amd64/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-bookworm-slim-amd64 +FROM $REPO:8.0.13-bookworm-slim-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6' \ + && dotnet_sha512='d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d' \ + && powershell_sha512='3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba' \ && 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 \ diff --git a/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile b/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile index d9a7e3ddaa..b1be60142c 100644 --- a/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-bookworm-slim-arm32v7 +FROM $REPO:8.0.13-bookworm-slim-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm.tar.gz \ - && dotnet_sha512='f9c422221ce1b9460e4778ee2512b8e38c78eea77e975779af03f82feb5664b94d33c57d103777839b9e772c039419df5eeaa479b55b78d70013542a87d2b602' \ + && dotnet_sha512='18a2bf575a6d895ce0671b22e4f0853003920f0b7f2f33ff45afc51d34453bfd6b87b2aa5e53349d0c6ae9f6c37f6663d37f87a2ee544c89a7f5ba88d6f65408' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='94c71ff6a680c4141c3e92812c4a52a2debe9106e4deb2f7f6b375c7c4086859d783b4c0687a912c85f24a3d442d121c31a51b45d871679e657781d6bcc09e45' \ + && powershell_sha512='727c67c3d29e3f3216366b5e2487b14baf926ab36da58833aecb84d663e4a6f61d2c073d7a99f7b05294cea71f3d37c90bbd237cd4cad6491dd8031544c16841' \ && 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 \ diff --git a/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile b/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile index e947efc65c..31c9f3b4eb 100644 --- a/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-bookworm-slim-arm64v8 +FROM $REPO:8.0.13-bookworm-slim-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a' \ + && dotnet_sha512='9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1' \ + && powershell_sha512='6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6' \ && 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 \ diff --git a/src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile b/src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile index f37ec5379c..e6e7b29b52 100644 --- a/src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile +++ b/src/sdk/8.0/cbl-mariner2.0/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-cbl-mariner2.0-amd64 +FROM $REPO:8.0.13-cbl-mariner2.0-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6' \ + && dotnet_sha512='d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d' \ + && powershell_sha512='3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba' \ && 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 \ diff --git a/src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile index e3e453fd33..862c1aff0a 100644 --- a/src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile +++ b/src/sdk/8.0/cbl-mariner2.0/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-cbl-mariner2.0-arm64v8 +FROM $REPO:8.0.13-cbl-mariner2.0-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a' \ + && dotnet_sha512='9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1' \ + && powershell_sha512='6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6' \ && 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 \ diff --git a/src/sdk/8.0/jammy/amd64/Dockerfile b/src/sdk/8.0/jammy/amd64/Dockerfile index f0c926b223..702710b4da 100644 --- a/src/sdk/8.0/jammy/amd64/Dockerfile +++ b/src/sdk/8.0/jammy/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-jammy-amd64 +FROM $REPO:8.0.13-jammy-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6' \ + && dotnet_sha512='d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d' \ + && powershell_sha512='3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba' \ && 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 \ diff --git a/src/sdk/8.0/jammy/arm32v7/Dockerfile b/src/sdk/8.0/jammy/arm32v7/Dockerfile index 7811856cc3..c8e505a5ce 100644 --- a/src/sdk/8.0/jammy/arm32v7/Dockerfile +++ b/src/sdk/8.0/jammy/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-jammy-arm32v7 +FROM $REPO:8.0.13-jammy-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm.tar.gz \ - && dotnet_sha512='f9c422221ce1b9460e4778ee2512b8e38c78eea77e975779af03f82feb5664b94d33c57d103777839b9e772c039419df5eeaa479b55b78d70013542a87d2b602' \ + && dotnet_sha512='18a2bf575a6d895ce0671b22e4f0853003920f0b7f2f33ff45afc51d34453bfd6b87b2aa5e53349d0c6ae9f6c37f6663d37f87a2ee544c89a7f5ba88d6f65408' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='94c71ff6a680c4141c3e92812c4a52a2debe9106e4deb2f7f6b375c7c4086859d783b4c0687a912c85f24a3d442d121c31a51b45d871679e657781d6bcc09e45' \ + && powershell_sha512='727c67c3d29e3f3216366b5e2487b14baf926ab36da58833aecb84d663e4a6f61d2c073d7a99f7b05294cea71f3d37c90bbd237cd4cad6491dd8031544c16841' \ && 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 \ diff --git a/src/sdk/8.0/jammy/arm64v8/Dockerfile b/src/sdk/8.0/jammy/arm64v8/Dockerfile index 421707d2b8..df584c37c6 100644 --- a/src/sdk/8.0/jammy/arm64v8/Dockerfile +++ b/src/sdk/8.0/jammy/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-jammy-arm64v8 +FROM $REPO:8.0.13-jammy-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a' \ + && dotnet_sha512='9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1' \ + && powershell_sha512='6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6' \ && 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 \ diff --git a/src/sdk/8.0/nanoserver-1809/amd64/Dockerfile b/src/sdk/8.0/nanoserver-1809/amd64/Dockerfile index 172ef6be12..75a39149cd 100644 --- a/src/sdk/8.0/nanoserver-1809/amd64/Dockerfile +++ b/src/sdk/8.0/nanoserver-1809/amd64/Dockerfile @@ -10,8 +10,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -25,9 +25,9 @@ RUN powershell -Command " ` $ProgressPreference = 'SilentlyContinue'; ` ` # Retrieve .NET SDK - $sdk_version = '8.0.405'; ` + $sdk_version = '8.0.406'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` - $dotnet_sha512 = 'def0b094747e609d2bafd33dc739fea1fb166b794bfd58d348bf62978d1f35606c0bd31ae2ca59ad947641acfd4eec92bb3fe1dd197ac28f2bd600ed125b5b96'; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -37,9 +37,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.4.6'; ` + $powershell_version = '7.4.7'; ` 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 = '29c3eb019caf85688b5aa1c706eef3a7eef14381047a5ee59cc79f3aeab91c8610ec505df4528fc24c8e287606ed486d28a0388e8cc69fefc8e37d47eb30db90'; ` + $powershell_sha512 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -56,7 +56,7 @@ RUN powershell -Command " ` | Remove-Item -Force -Recurse" # SDK image -FROM $REPO:8.0.12-nanoserver-1809 +FROM $REPO:8.0.13-nanoserver-1809 ENV ` # Do not generate certificate @@ -64,7 +64,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=8.0.405 ` + DOTNET_SDK_VERSION=8.0.406 ` # 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 diff --git a/src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile index 98f8013985..45abeb6c16 100644 --- a/src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -10,8 +10,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -25,9 +25,9 @@ RUN powershell -Command " ` $ProgressPreference = 'SilentlyContinue'; ` ` # Retrieve .NET SDK - $sdk_version = '8.0.405'; ` + $sdk_version = '8.0.406'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` - $dotnet_sha512 = 'def0b094747e609d2bafd33dc739fea1fb166b794bfd58d348bf62978d1f35606c0bd31ae2ca59ad947641acfd4eec92bb3fe1dd197ac28f2bd600ed125b5b96'; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -37,9 +37,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.4.6'; ` + $powershell_version = '7.4.7'; ` 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 = '29c3eb019caf85688b5aa1c706eef3a7eef14381047a5ee59cc79f3aeab91c8610ec505df4528fc24c8e287606ed486d28a0388e8cc69fefc8e37d47eb30db90'; ` + $powershell_sha512 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -56,7 +56,7 @@ RUN powershell -Command " ` | Remove-Item -Force -Recurse" # SDK image -FROM $REPO:8.0.12-nanoserver-ltsc2022 +FROM $REPO:8.0.13-nanoserver-ltsc2022 ENV ` # Do not generate certificate @@ -64,7 +64,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=8.0.405 ` + DOTNET_SDK_VERSION=8.0.406 ` # 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 diff --git a/src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..1be3a14049 --- /dev/null +++ b/src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile @@ -0,0 +1,85 @@ +# 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 = '8.0.406'; ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` + 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.4.7'; ` + 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 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` + 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:8.0.13-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=8.0.406 ` + # 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 + +# 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/8.0/noble/amd64/Dockerfile b/src/sdk/8.0/noble/amd64/Dockerfile index 8758003b9b..81eb5533f6 100644 --- a/src/sdk/8.0/noble/amd64/Dockerfile +++ b/src/sdk/8.0/noble/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-noble-amd64 +FROM $REPO:8.0.13-noble-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='2499faa1520e8fd9a287a6798755de1a3ffef31c0dc3416213c8a9bec64861419bfc818f1c1c410b86bb72848ce56d4b6c74839afd8175a922345fc649063ec6' \ + && dotnet_sha512='d6fdcfebd0df46959f7857cfb3beac7de6c8843515ece28b24802765fd9cfb6c7e9701b320134cb4907322937ab89cae914ddc21bf48b9b6313e9a9af5c1f24a' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='676a69c7a0b03c6a2397a253ce54cb76857d4ddd252f9da7d9fc3d1cb7a62386316b73bd87519061f799fee60cbc39831060b263ebe0f200879c1524e8aea00d' \ + && powershell_sha512='3f4ff718b982b5cbcbc3ceef2602f681af8029e716aa00a65e60edd81c94fcea3d2e4d6c6f18b5f3cadfba2558f70dbe810397c6bf73757d132ec7bec77dfdba' \ && 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 \ diff --git a/src/sdk/8.0/noble/arm64v8/Dockerfile b/src/sdk/8.0/noble/arm64v8/Dockerfile index 441505205e..a5ef4425d2 100644 --- a/src/sdk/8.0/noble/arm64v8/Dockerfile +++ b/src/sdk/8.0/noble/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-noble-arm64v8 +FROM $REPO:8.0.13-noble-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=8.0.405 \ + DOTNET_SDK_VERSION=8.0.406 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='07988b784bf71913f607ce0ced50434c69980ae715ca62fb6af68f7eaa26810c3f9ffe24df1d8706d1a557c3eb7756143e5357016089cf1508714baa1cce828a' \ + && dotnet_sha512='9b939f09fbda8a080b1266914ca02c4d60a95e85fa6a1344c378d394697de6935eb7d941dd9a3aeb977ada3aab561c614a5fe9b973824899cb02aa74e9c09988' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.6 \ +RUN powershell_version=7.4.7 \ && 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='b510d8f6d237bbffdb8f4c945bea97f6182adf65f072852d12bc495f908db9b2ed6740da62ae7be209610fceb80d511245c6befc3361bcd341bcce1bc6dff8e1' \ + && powershell_sha512='6c72dfc5bcbac7b135e5152d0ec599e9f639255ff3be2c28eb64015e6df948b2a9c216fc2bd9b26b876a11e32182adad249b88551dd650a4342f5ac2fbed56d6' \ && 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 \ diff --git a/src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile index 7b0ecbf241..aebb772464 100644 --- a/src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -1,7 +1,7 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-windowsservercore-ltsc2019 +FROM $REPO:8.0.13-windowsservercore-ltsc2019 ENV ` # Do not generate certificate @@ -9,7 +9,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=8.0.405 ` + DOTNET_SDK_VERSION=8.0.406 ` # 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 @@ -22,8 +22,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -38,7 +38,7 @@ RUN powershell -Command " ` ` # Retrieve .NET SDK Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` - $dotnet_sha512 = 'def0b094747e609d2bafd33dc739fea1fb166b794bfd58d348bf62978d1f35606c0bd31ae2ca59ad947641acfd4eec92bb3fe1dd197ac28f2bd600ed125b5b96'; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -47,9 +47,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.4.6'; ` + $powershell_version = '7.4.7'; ` 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 = '29c3eb019caf85688b5aa1c706eef3a7eef14381047a5ee59cc79f3aeab91c8610ec505df4528fc24c8e287606ed486d28a0388e8cc69fefc8e37d47eb30db90'; ` + $powershell_sha512 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile index 8265cc2da3..91fc85b805 100644 --- a/src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -1,7 +1,7 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:8.0.12-windowsservercore-ltsc2022 +FROM $REPO:8.0.13-windowsservercore-ltsc2022 ENV ` # Do not generate certificate @@ -9,7 +9,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=8.0.405 ` + DOTNET_SDK_VERSION=8.0.406 ` # 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 @@ -22,8 +22,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -38,7 +38,7 @@ RUN powershell -Command " ` ` # Retrieve .NET SDK Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` - $dotnet_sha512 = 'def0b094747e609d2bafd33dc739fea1fb166b794bfd58d348bf62978d1f35606c0bd31ae2ca59ad947641acfd4eec92bb3fe1dd197ac28f2bd600ed125b5b96'; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -47,9 +47,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.4.6'; ` + $powershell_version = '7.4.7'; ` 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 = '29c3eb019caf85688b5aa1c706eef3a7eef14381047a5ee59cc79f3aeab91c8610ec505df4528fc24c8e287606ed486d28a0388e8cc69fefc8e37d47eb30db90'; ` + $powershell_sha512 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` if ((Get-FileHash PowerShell.Windows.x64.$powershell_version.nupkg -Algorithm sha512).Hash -ne $powershell_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` diff --git a/src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..e897904051 --- /dev/null +++ b/src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,65 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:8.0.13-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=8.0.406 ` + # 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 + +# 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://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` + $dotnet_sha512 = '88095e181228e9e496574ed6f36582303533369cd253f41abad6c3aaa7d23436736a3fb1dd6c908032b2cfda445f66d50628516395783bef3d5ee9bbb00edcd2'; ` + 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.4.7'; ` + 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 = 'fb23e5cdaf53790e66b6b9767f8e112aa60a37f0a2b49109ba8e495ead862e058ffd90b16ad5c60c0ea5d4f03ea49566f1aa7e2ab1803afd2bdf4a37e0cd258c'; ` + 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/9.0/alpine3.20/amd64/Dockerfile b/src/sdk/9.0/alpine3.20/amd64/Dockerfile index 5c56f7804d..4168993998 100644 --- a/src/sdk/9.0/alpine3.20/amd64/Dockerfile +++ b/src/sdk/9.0/alpine3.20/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.20-amd64 +FROM $REPO:9.0.2-alpine3.20-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='60e091854d17da9a6011569f0a4819eac72ce6fe06d01757feeb83ad56c17645fa438257631ecbbf6ee94ac3a973eff9ad4d3e12deadda3eb41c1b69ca8d5308' \ + && dotnet_sha512='96b032d5209a838e97522528963e2e9589f8384dff4292e567030b0da0849104a57cd6d0f05e5fb7e7787730f47c6112a014df17c76010864f55c110a971f216' \ && 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 \ @@ -36,9 +36,9 @@ RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='3e8a7b4309b62602e1d81fe32bac245a1e9807a53dc564d6ae956126bc313be4a7e64e6b1e33b81d629f4da245ec12496a4cd2f03aeb57e534a46267252360a1' \ + && 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 \ diff --git a/src/sdk/9.0/alpine3.20/arm32v7/Dockerfile b/src/sdk/9.0/alpine3.20/arm32v7/Dockerfile index 712391bb04..98566912f7 100644 --- a/src/sdk/9.0/alpine3.20/arm32v7/Dockerfile +++ b/src/sdk/9.0/alpine3.20/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.20-arm32v7 +FROM $REPO:9.0.2-alpine3.20-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='e363e3d4edca93830d18bcebd41e01bf2856b095ae70e1a24b0533abb0a507e4c1f1542ff3046c285689318dac7e2b5c71a166bcb5933a8ab68d800bf3eedf03' \ + && dotnet_sha512='4297ed3b4f112e1d64a6617cb96191bfb4ebf6a5fbd01c75de6c0592897173f011aef3d9be7e61738e0c8ce8ba1815b06f28e0c251c840f2e0de2630d36616ca' \ && 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 \ diff --git a/src/sdk/9.0/alpine3.20/arm64v8/Dockerfile b/src/sdk/9.0/alpine3.20/arm64v8/Dockerfile index 363deaca5d..6ff656bfd4 100644 --- a/src/sdk/9.0/alpine3.20/arm64v8/Dockerfile +++ b/src/sdk/9.0/alpine3.20/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.20-arm64v8 +FROM $REPO:9.0.2-alpine3.20-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='5da98e46c280e21c3734a0c9081e7ddb78ad62775a51a129b42a6f021330d263a875da2f44a7aafe8156e7c9ae0f9bb21b502057692b360f2afe0882f0e61132' \ + && dotnet_sha512='f1a70807e0a2b5ee272bdd714535a2fa3d31bb8c2216b43c151a72cb364f64a6f893590baeebc7dfb2b78ff50e4ba11c3e4cadf11c75744404fefabdc7ff08db' \ && 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 \ diff --git a/src/sdk/9.0/alpine3.21/amd64/Dockerfile b/src/sdk/9.0/alpine3.21/amd64/Dockerfile index b8bca930b9..ec5a8d30ef 100644 --- a/src/sdk/9.0/alpine3.21/amd64/Dockerfile +++ b/src/sdk/9.0/alpine3.21/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.21-amd64 +FROM $REPO:9.0.2-alpine3.21-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-x64.tar.gz \ - && dotnet_sha512='60e091854d17da9a6011569f0a4819eac72ce6fe06d01757feeb83ad56c17645fa438257631ecbbf6ee94ac3a973eff9ad4d3e12deadda3eb41c1b69ca8d5308' \ + && dotnet_sha512='96b032d5209a838e97522528963e2e9589f8384dff4292e567030b0da0849104a57cd6d0f05e5fb7e7787730f47c6112a014df17c76010864f55c110a971f216' \ && 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 \ @@ -36,9 +36,9 @@ RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='3e8a7b4309b62602e1d81fe32bac245a1e9807a53dc564d6ae956126bc313be4a7e64e6b1e33b81d629f4da245ec12496a4cd2f03aeb57e534a46267252360a1' \ + && 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 \ diff --git a/src/sdk/9.0/alpine3.21/arm32v7/Dockerfile b/src/sdk/9.0/alpine3.21/arm32v7/Dockerfile index c7899e81a3..33bc885c06 100644 --- a/src/sdk/9.0/alpine3.21/arm32v7/Dockerfile +++ b/src/sdk/9.0/alpine3.21/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.21-arm32v7 +FROM $REPO:9.0.2-alpine3.21-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm.tar.gz \ - && dotnet_sha512='e363e3d4edca93830d18bcebd41e01bf2856b095ae70e1a24b0533abb0a507e4c1f1542ff3046c285689318dac7e2b5c71a166bcb5933a8ab68d800bf3eedf03' \ + && dotnet_sha512='4297ed3b4f112e1d64a6617cb96191bfb4ebf6a5fbd01c75de6c0592897173f011aef3d9be7e61738e0c8ce8ba1815b06f28e0c251c840f2e0de2630d36616ca' \ && 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 \ diff --git a/src/sdk/9.0/alpine3.21/arm64v8/Dockerfile b/src/sdk/9.0/alpine3.21/arm64v8/Dockerfile index 730e765b04..06923c97b1 100644 --- a/src/sdk/9.0/alpine3.21/arm64v8/Dockerfile +++ b/src/sdk/9.0/alpine3.21/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-alpine3.21-arm64v8 +FROM $REPO:9.0.2-alpine3.21-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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) @@ -27,7 +27,7 @@ RUN apk add --upgrade --no-cache \ # Install .NET SDK RUN wget -O dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-musl-arm64.tar.gz \ - && dotnet_sha512='5da98e46c280e21c3734a0c9081e7ddb78ad62775a51a129b42a6f021330d263a875da2f44a7aafe8156e7c9ae0f9bb21b502057692b360f2afe0882f0e61132' \ + && dotnet_sha512='f1a70807e0a2b5ee272bdd714535a2fa3d31bb8c2216b43c151a72cb364f64a6f893590baeebc7dfb2b78ff50e4ba11c3e4cadf11c75744404fefabdc7ff08db' \ && 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 \ diff --git a/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile b/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile index f3053b8dbf..6a8759b404 100644 --- a/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-azurelinux3.0-amd64 +FROM $REPO:9.0.2-azurelinux3.0-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099' \ + && dotnet_sha512='1af5f3a444419b3f5cf99cb03ee740722722478226d0aff27ad41b1d11e69d73497e25c07ef06a6df9e73fb0fbdc4b9baca9accec95654d9ee7be4d5a5c3ac23' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='ec1f49c2b6e4c1768f43eed4a0e501d8280324bb11d0afc1025633cabb5718523cf6560b8abab027676330ed3dcfeaf09986ce7b3516aa62dd1bdb1e8989612a' \ + && 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 \ diff --git a/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile b/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile index 3517c34f5e..8e29eb1b89 100644 --- a/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-azurelinux3.0-arm64v8 +FROM $REPO:9.0.2-azurelinux3.0-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -23,7 +23,7 @@ RUN tdnf install -y \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='cb78931dcbb948a504891f112f11215f2792d169f0a0b53eaa81c03fc4ba78d31a91c60a41809ae6e2ddcae8640085a159e492035cedfda68d265bbeb4bf8b2e' \ + && dotnet_sha512='c2d18644243d67d103471713f0e9ba659df0c0d5e098bd441310418dd03798d6a5a8539da7c8cc320d57085c193c753ff78bdff8a97a97c51f500433538fb722' \ && 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 \ @@ -31,9 +31,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='51feb775e9a256b651e357b8834b02cd2c86d168afb010e61ee1a151564b72b1ab7ba32bc5e5041042a63ccb473aa15ff3e6bda802debcbe2d486f4f782b4617' \ + && 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 \ diff --git a/src/sdk/9.0/bookworm-slim/amd64/Dockerfile b/src/sdk/9.0/bookworm-slim/amd64/Dockerfile index dcf0535086..8f64e05ede 100644 --- a/src/sdk/9.0/bookworm-slim/amd64/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-bookworm-slim-amd64 +FROM $REPO:9.0.2-bookworm-slim-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099' \ + && dotnet_sha512='1af5f3a444419b3f5cf99cb03ee740722722478226d0aff27ad41b1d11e69d73497e25c07ef06a6df9e73fb0fbdc4b9baca9accec95654d9ee7be4d5a5c3ac23' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='ec1f49c2b6e4c1768f43eed4a0e501d8280324bb11d0afc1025633cabb5718523cf6560b8abab027676330ed3dcfeaf09986ce7b3516aa62dd1bdb1e8989612a' \ + && 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 \ diff --git a/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile b/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile index c63fbbccbc..50adef1c97 100644 --- a/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-bookworm-slim-arm32v7 +FROM $REPO:9.0.2-bookworm-slim-arm32v7 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm.tar.gz \ - && dotnet_sha512='2c4c69d46c3e57ed990518a9d82963665d835c66a57da54b9d21e22c2a20e8018020dcb190eef54dfe68c001fcce385361eb2bd29896311a1683599ff9e6a777' \ + && dotnet_sha512='476a9a686af234482ea99ef53fd1a3b6bd65e4ef5f24eb1e2e94b60f146e7b7e7b99519a66a896836682e702007027a04e10ede857fc4540c3bae56b16cb3780' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='10870b04f83d5497f64d56edc6470919741b2e41a793db8ce6d16f34946baaa693c9af82e9a8a2408ebe490523a20a395e3d3a5db5f122e81d645a8a0a855ae6' \ + && 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 \ diff --git a/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile b/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile index 49e20fa2a8..4443f3899f 100644 --- a/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-bookworm-slim-arm64v8 +FROM $REPO:9.0.2-bookworm-slim-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='cb78931dcbb948a504891f112f11215f2792d169f0a0b53eaa81c03fc4ba78d31a91c60a41809ae6e2ddcae8640085a159e492035cedfda68d265bbeb4bf8b2e' \ + && dotnet_sha512='c2d18644243d67d103471713f0e9ba659df0c0d5e098bd441310418dd03798d6a5a8539da7c8cc320d57085c193c753ff78bdff8a97a97c51f500433538fb722' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='51feb775e9a256b651e357b8834b02cd2c86d168afb010e61ee1a151564b72b1ab7ba32bc5e5041042a63ccb473aa15ff3e6bda802debcbe2d486f4f782b4617' \ + && 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 \ diff --git a/src/sdk/9.0/nanoserver-1809/amd64/Dockerfile b/src/sdk/9.0/nanoserver-1809/amd64/Dockerfile index b115476021..54effa8738 100644 --- a/src/sdk/9.0/nanoserver-1809/amd64/Dockerfile +++ b/src/sdk/9.0/nanoserver-1809/amd64/Dockerfile @@ -10,8 +10,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -25,9 +25,9 @@ RUN powershell -Command " ` $ProgressPreference = 'SilentlyContinue'; ` ` # Retrieve .NET SDK - $sdk_version = '9.0.102'; ` + $sdk_version = '9.0.200'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` - $dotnet_sha512 = 'c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5'; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -37,9 +37,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.5.0-rc.1'; ` + $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 = '105c310b314bf3175440ee06273d800f75c63ba3780496b3e704803395162c61c9b819428adb7e4ec6ad6281a0c0f4d11f518dff0c24d0e0d17ba3f0710a6d65'; ` + $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; ` @@ -56,7 +56,7 @@ RUN powershell -Command " ` | Remove-Item -Force -Recurse" # SDK image -FROM $REPO:9.0.1-nanoserver-1809 +FROM $REPO:9.0.2-nanoserver-1809 ENV ` # Do not generate certificate @@ -64,7 +64,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=9.0.102 ` + DOTNET_SDK_VERSION=9.0.200 ` # 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 diff --git a/src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile index 6aee54816d..19c283e3d3 100644 --- a/src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile @@ -10,8 +10,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -25,9 +25,9 @@ RUN powershell -Command " ` $ProgressPreference = 'SilentlyContinue'; ` ` # Retrieve .NET SDK - $sdk_version = '9.0.102'; ` + $sdk_version = '9.0.200'; ` Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` - $dotnet_sha512 = 'c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5'; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -37,9 +37,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.5.0-rc.1'; ` + $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 = '105c310b314bf3175440ee06273d800f75c63ba3780496b3e704803395162c61c9b819428adb7e4ec6ad6281a0c0f4d11f518dff0c24d0e0d17ba3f0710a6d65'; ` + $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; ` @@ -56,7 +56,7 @@ RUN powershell -Command " ` | Remove-Item -Force -Recurse" # SDK image -FROM $REPO:9.0.1-nanoserver-ltsc2022 +FROM $REPO:9.0.2-nanoserver-ltsc2022 ENV ` # Do not generate certificate @@ -64,7 +64,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=9.0.102 ` + DOTNET_SDK_VERSION=9.0.200 ` # 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 diff --git a/src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..1fe1526fbb --- /dev/null +++ b/src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile @@ -0,0 +1,85 @@ +# 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 = '9.0.200'; ` + Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` + 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:9.0.2-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=9.0.200 ` + # 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 + +# 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/9.0/noble/amd64/Dockerfile b/src/sdk/9.0/noble/amd64/Dockerfile index 72b89239bf..9ea0760482 100644 --- a/src/sdk/9.0/noble/amd64/Dockerfile +++ b/src/sdk/9.0/noble/amd64/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-noble-amd64 +FROM $REPO:9.0.2-noble-amd64 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \ - && dotnet_sha512='f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099' \ + && dotnet_sha512='1af5f3a444419b3f5cf99cb03ee740722722478226d0aff27ad41b1d11e69d73497e25c07ef06a6df9e73fb0fbdc4b9baca9accec95654d9ee7be4d5a5c3ac23' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='ec1f49c2b6e4c1768f43eed4a0e501d8280324bb11d0afc1025633cabb5718523cf6560b8abab027676330ed3dcfeaf09986ce7b3516aa62dd1bdb1e8989612a' \ + && 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 \ diff --git a/src/sdk/9.0/noble/arm32v7/Dockerfile b/src/sdk/9.0/noble/arm32v7/Dockerfile index dfe9ffad3c..f6e206df76 100644 --- a/src/sdk/9.0/noble/arm32v7/Dockerfile +++ b/src/sdk/9.0/noble/arm32v7/Dockerfile @@ -3,8 +3,8 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet FROM arm32v7/buildpack-deps:jammy-curl AS installer # Install .NET SDK -RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.102/dotnet-sdk-9.0.102-linux-arm.tar.gz \ - && dotnet_sha512='2c4c69d46c3e57ed990518a9d82963665d835c66a57da54b9d21e22c2a20e8018020dcb190eef54dfe68c001fcce385361eb2bd29896311a1683599ff9e6a777' \ +RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.200/dotnet-sdk-9.0.200-linux-arm.tar.gz \ + && dotnet_sha512='476a9a686af234482ea99ef53fd1a3b6bd65e4ef5f24eb1e2e94b60f146e7b7e7b99519a66a896836682e702007027a04e10ede857fc4540c3bae56b16cb3780' \ && 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 \ @@ -12,7 +12,7 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ # .NET SDK image -FROM $REPO:9.0.1-noble-arm32v7 +FROM $REPO:9.0.2-noble-arm32v7 ENV \ # Do not generate certificate @@ -20,7 +20,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -42,9 +42,9 @@ COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='10870b04f83d5497f64d56edc6470919741b2e41a793db8ce6d16f34946baaa693c9af82e9a8a2408ebe490523a20a395e3d3a5db5f122e81d645a8a0a855ae6' \ + && 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 \ diff --git a/src/sdk/9.0/noble/arm64v8/Dockerfile b/src/sdk/9.0/noble/arm64v8/Dockerfile index d4b38fcac5..bb29c01207 100644 --- a/src/sdk/9.0/noble/arm64v8/Dockerfile +++ b/src/sdk/9.0/noble/arm64v8/Dockerfile @@ -1,5 +1,5 @@ ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-noble-arm64v8 +FROM $REPO:9.0.2-noble-arm64v8 ENV \ # Do not generate certificate @@ -7,7 +7,7 @@ ENV \ # Do not show first run text DOTNET_NOLOGO=true \ # SDK version - DOTNET_SDK_VERSION=9.0.102 \ + DOTNET_SDK_VERSION=9.0.200 \ # 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 @@ -25,7 +25,7 @@ RUN apt-get update \ # Install .NET SDK RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \ - && dotnet_sha512='cb78931dcbb948a504891f112f11215f2792d169f0a0b53eaa81c03fc4ba78d31a91c60a41809ae6e2ddcae8640085a159e492035cedfda68d265bbeb4bf8b2e' \ + && dotnet_sha512='c2d18644243d67d103471713f0e9ba659df0c0d5e098bd441310418dd03798d6a5a8539da7c8cc320d57085c193c753ff78bdff8a97a97c51f500433538fb722' \ && 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 \ @@ -34,9 +34,9 @@ RUN curl -fSL --output dotnet.tar.gz https://builds.dotnet.microsoft.com/dotnet/ && dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.0-rc.1 \ +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='51feb775e9a256b651e357b8834b02cd2c86d168afb010e61ee1a151564b72b1ab7ba32bc5e5041042a63ccb473aa15ff3e6bda802debcbe2d486f4f782b4617' \ + && 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 \ diff --git a/src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile b/src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile index 236eb023a1..cf24afa987 100644 --- a/src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile @@ -1,7 +1,7 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-windowsservercore-ltsc2019 +FROM $REPO:9.0.2-windowsservercore-ltsc2019 ENV ` # Do not generate certificate @@ -9,7 +9,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=9.0.102 ` + DOTNET_SDK_VERSION=9.0.200 ` # 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 @@ -22,8 +22,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -38,7 +38,7 @@ RUN powershell -Command " ` ` # Retrieve .NET SDK Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` - $dotnet_sha512 = 'c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5'; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -47,9 +47,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.5.0-rc.1'; ` + $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 = '105c310b314bf3175440ee06273d800f75c63ba3780496b3e704803395162c61c9b819428adb7e4ec6ad6281a0c0f4d11f518dff0c24d0e0d17ba3f0710a6d65'; ` + $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; ` diff --git a/src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile index 744d7e2f32..a80045e5d5 100644 --- a/src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile @@ -1,7 +1,7 @@ # escape=` ARG REPO=mcr.microsoft.com/dotnet/aspnet -FROM $REPO:9.0.1-windowsservercore-ltsc2022 +FROM $REPO:9.0.2-windowsservercore-ltsc2022 ENV ` # Do not generate certificate @@ -9,7 +9,7 @@ ENV ` # Do not show first run text DOTNET_NOLOGO=true ` # SDK version - DOTNET_SDK_VERSION=9.0.102 ` + DOTNET_SDK_VERSION=9.0.200 ` # 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 @@ -22,8 +22,8 @@ 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.1/MinGit-2.47.1-64-bit.zip; ` - $mingit_sha256 = '50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a'; ` + 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; ` @@ -38,7 +38,7 @@ RUN powershell -Command " ` ` # Retrieve .NET SDK Invoke-WebRequest -OutFile dotnet.zip https://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` - $dotnet_sha512 = 'c3713f4db98fec9bcbb5be1378e7505a49cdb362e20e060045dc8e320ebc62e0f422e125efb9e966e957ee64e33219dea9b42c18ac5b8e51dd3648e5aa1319c5'; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` if ((Get-FileHash dotnet.zip -Algorithm sha512).Hash -ne $dotnet_sha512) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -47,9 +47,9 @@ RUN powershell -Command " ` Remove-Item -Force dotnet.zip; ` ` # Install PowerShell global tool - $powershell_version = '7.5.0-rc.1'; ` + $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 = '105c310b314bf3175440ee06273d800f75c63ba3780496b3e704803395162c61c9b819428adb7e4ec6ad6281a0c0f4d11f518dff0c24d0e0d17ba3f0710a6d65'; ` + $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; ` diff --git a/src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile new file mode 100644 index 0000000000..80141028e7 --- /dev/null +++ b/src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile @@ -0,0 +1,65 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet +FROM $REPO:9.0.2-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=9.0.200 ` + # 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 + +# 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://builds.dotnet.microsoft.com/dotnet/Sdk/$Env:DOTNET_SDK_VERSION/dotnet-sdk-$Env:DOTNET_SDK_VERSION-win-x64.zip; ` + $dotnet_sha512 = 'e274e0e8a0d926c58a2199e020fc5b2c2867689772f51673f655ee853a50a9ca0e435ae5682bb4ae146d1fbc9a40f6d4a7ecff14d5fea24db8a3f67d0dcbf2a9'; ` + 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/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c1b958d77e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + unzip \ + && tdnf clean all + +# Retrieve Aspire Dashboard +RUN dotnet_aspire_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspire_dashboard.zip "https://artifacts.visualstudio.com/aspire/$dotnet_aspire_version/aspire-dashboard-linux-x64.zip" \ + && aspire_dashboard_sha512='{sha512_placeholder}' \ + && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ + && mkdir -p /app \ + && unzip aspire_dashboard.zip -d /app \ + && rm aspire_dashboard.zip + + +# Aspire Dashboard image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-extra-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from base image + ASPNETCORE_HTTP_PORTS= \ + # Aspire Dashboard environment variables + ASPNETCORE_URLS=http://+:18888 \ + DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \ + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890 + +ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7b2a891041 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspire-dashboard-9.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,35 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + unzip \ + && tdnf clean all + +# Retrieve Aspire Dashboard +RUN dotnet_aspire_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspire_dashboard.zip "https://artifacts.visualstudio.com/aspire/$dotnet_aspire_version/aspire-dashboard-linux-arm64.zip" \ + && aspire_dashboard_sha512='{sha512_placeholder}' \ + && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ + && mkdir -p /app \ + && unzip aspire_dashboard.zip -d /app \ + && rm aspire_dashboard.zip + + +# Aspire Dashboard image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-extra-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from base image + ASPNETCORE_HTTP_PORTS= \ + # Aspire Dashboard environment variables + ASPNETCORE_URLS=http://+:18888 \ + DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \ + DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890 + +ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..2dc807454a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..8969b0fc01 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..714060c6ff --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b5123040f0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-preview.1-alpine3.XX-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..8339aadf38 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7c0732ccac --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..cdf8a6d309 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..44bc49c727 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a8a877eb53 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..20e7658039 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..40ea450b42 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..1f757347ad --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..50832c18f4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..a9b34cb55e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..610e7a4665 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..88edccbe99 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1a4709f77a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-nanoserver-1809 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5a449c9610 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-nanoserver-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..89e931d650 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..778b216b42 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..60abc9d833 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6b12163813 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b783f13017 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..14f7ac45d5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..22e5a889c3 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5076e27133 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..44cafbff88 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..c865e0633a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..e6cb08912f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c0c6653940 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..24679b4779 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a249a8bac2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..d91379ba86 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..f58ca172b0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..21b064fdef --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..536ed5d480 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..8643dfa1bf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..be192e2f4c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-windowsservercore-ltsc2019 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0d8b914ea1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-windowsservercore-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4f70b079a1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.1-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4697a66566 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..6e79736ed5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4722daa5c9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c51825f561 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8fbed6f1a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..2f9c1ca613 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4697a66566 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..6e79736ed5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4722daa5c9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c51825f561 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8fbed6f1a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..2f9c1ca613 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..fd42ed8299 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..91e5269265 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..073100ddfd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..78c18ae96d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..03dc6b77b7 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b6cd335f40 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..65389caf38 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6da266f884 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1cbec6cfd9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..e1e25db511 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f54b95fc63 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fe549f8e8e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..79c5203e39 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f2a7405707 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..68e41f3939 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ffdd7813a6 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6b5aa590ce --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..33da98e829 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..80da4abd27 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..07ff5bca0d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0a07e8808a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a20c9704c9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..341a368a47 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..9ad6324ed5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..571a8130ec --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..224a563768 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..90c42beba8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..3e378a0c28 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..316cbf72ff --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..367eb73216 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..cae77018d9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7152a91eb2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4c31cde9fe --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..cf7c739c58 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..42e63fecc2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..80897722ce --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..d486789a67 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..376c0b9534 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..589cb6f917 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-1809 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..825d1af5e9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..32d11946c2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f48f5d3794 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d7a9cd0fec --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..6f4874f23f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0f62b53492 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dd3c61c677 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6cc91349de --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..9377f2f8f9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..21cf6b757e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..786d02df78 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..dd9174fc5e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3ec0121f0d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2019 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d26652e66f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0f1b751569 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4697a66566 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..6e79736ed5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4722daa5c9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c51825f561 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8fbed6f1a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..2f9c1ca613 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.20-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4697a66566 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..6e79736ed5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4722daa5c9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c51825f561 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8fbed6f1a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..2f9c1ca613 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-alpine3.21-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ + && mkdir -p /dotnet \ + && tar -oxzf dotnet.tar.gz -C /dotnet \ + && rm dotnet.tar.gz + + +# ASP.NET Composite Image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..fd42ed8299 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..91e5269265 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,27 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..073100ddfd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..78c18ae96d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..03dc6b77b7 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b6cd335f40 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..65389caf38 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6da266f884 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,40 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1cbec6cfd9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..e1e25db511 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f54b95fc63 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fe549f8e8e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..79c5203e39 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..589cb6f917 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-1809 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..825d1af5e9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..32d11946c2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-nanoserver-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f48f5d3794 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..9547d6b775 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d7a9cd0fec --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/shared/Microsoft.AspNetCore.App", "/usr/share/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..6f4874f23f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c2c5254329 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0f62b53492 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dd3c61c677 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..edb89e66b4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6cc91349de --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..9377f2f8f9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..547bea075b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm32v7 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..21cf6b757e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-composite-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Composite Runtime +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-composite-$aspnetcore_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +ENV \ + # .NET Runtime version + DOTNET_VERSION=0.0.0 \ + # ASP.NET Core version + ASPNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..786d02df78 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a737a32fbf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm32v7 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..dd9174fc5e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,24 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve ASP.NET Core +RUN aspnetcore_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output aspnetcore.tar.gz "https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz" \ + && aspnetcore_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3ec0121f0d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2019 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d26652e66f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2022 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0f1b751569 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/aspnet-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,38 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/runtime + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Install ASP.NET Core Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $aspnetcore_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile aspnetcore.zip \"https://artifacts.visualstudio.com/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-win-x64.zip\" -Headers $Headers; ` + ` + $aspnetcore_sha512 = '{sha512_placeholder}'; ` + 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:0.0.0-windowsservercore-ltsc2025 + +# ASP.NET Core version +ENV ASPNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet/shared/Microsoft.AspNetCore.App", "/Program Files/dotnet/shared/Microsoft.AspNetCore.App"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..16d60acdd7 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-cbl-mariner-distroless-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..c93934e5df --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-cbl-mariner-distroless-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..23bb882be0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-ubuntu-chiseled-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..cbee065a9c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-ubuntu-chiseled-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..16d60acdd7 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-cbl-mariner-distroless-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..c93934e5df --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-cbl-mariner-distroless-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..23bb882be0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-ubuntu-chiseled-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..cbee065a9c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-ubuntu-chiseled-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..7a8b39b5d8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# 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 Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-x64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-amd64 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6b27e4bbaf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/monitor/base + +# 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 Monitor extensions +RUN dotnet_monitor_extension_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-azureblobstorage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-azureblobstorage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-azureblobstorage.tar.gz" | sha512sum -c - \ + \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-egress-s3storage.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_extension_version/dotnet-monitor-egress-s3storage-$dotnet_monitor_extension_version-linux-arm64.tar.gz" \ + && dotnet_monitor_extension_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_extension_sha512 dotnet-monitor-egress-s3storage.tar.gz" | sha512sum -c - \ + \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-egress-azureblobstorage.tar.gz -C /app \ + && rm dotnet-monitor-egress-azureblobstorage.tar.gz \ + && tar -oxzf dotnet-monitor-egress-s3storage.tar.gz -C /app \ + && rm dotnet-monitor-egress-s3storage.tar.gz + + +# .NET Monitor image +FROM $REPO:0.0.0-arm64v8 + +COPY --from=installer ["/app", "/app"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b1649a1cc0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0b0c4c2f55 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8e11940a7f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-jammy-chiseled-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..9ec1ef6233 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.0-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-jammy-chiseled-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b1649a1cc0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0b0c4c2f55 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-cbl-mariner-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-cbl-mariner2.0-distroless-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8e11940a7f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-jammy-chiseled-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..9ec1ef6233 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-8.1-ubuntu-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +# Retrieve .NET Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-jammy-chiseled-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f93f4bc43d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# 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 Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-x64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-azurelinux3.0-distroless-amd64 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..593efb6e8c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/monitor-base-9.0-azurelinux-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,50 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# 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 Monitor Base +RUN dotnet_monitor_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet-monitor-base.tar.gz "https://artifacts.visualstudio.com/diagnostics/monitor/$dotnet_monitor_version/dotnet-monitor-base-$dotnet_monitor_version-linux-arm64.tar.gz" \ + && dotnet_monitor_base_sha512='{sha512_placeholder}' \ + && echo "$dotnet_monitor_base_sha512 dotnet-monitor-base.tar.gz" | sha512sum -c - \ + && mkdir -p /app \ + && tar -oxzf dotnet-monitor-base.tar.gz -C /app \ + && rm dotnet-monitor-base.tar.gz + + +# .NET Monitor Base image +FROM $REPO:0.0.0-azurelinux3.0-distroless-arm64v8 + +WORKDIR /app +COPY --from=installer /app . + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from aspnet base image + ASPNETCORE_HTTP_PORTS= \ + # Disable debugger and profiler diagnostics to avoid diagnosing self. + COMPlus_EnableDiagnostics=0 \ + # Default Filter + DefaultProcess__Filters__0__Key=ProcessId \ + DefaultProcess__Filters__0__Value=1 \ + # Remove Unix Domain Socket before starting diagnostic port server + DiagnosticPort__DeleteEndpointOnStartup=true \ + # Server GC mode + DOTNET_gcServer=1 \ + # Logging: JSON format so that analytic platforms can get discrete entry information + Logging__Console__FormatterName=json \ + # Logging: Use round-trip date/time format without timezone information (always logged in UTC) + Logging__Console__FormatterOptions__TimestampFormat=yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffff'Z' \ + # Logging: Write timestamps using UTC offset (+0:00) + Logging__Console__FormatterOptions__UseUtcTimestamp=true \ + # Add dotnet-monitor path to front of PATH for easier, prioritized execution + PATH="/app:${PATH}" + +ENTRYPOINT [ "dotnet-monitor" ] +CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..823943c574 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + unzip \ + && tdnf clean all + +# Retrieve YARP +RUN yarp_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output reverse-proxy.zip "https://artifacts.visualstudio.com/reverse-proxy/$yarp_version/reverse-proxy-linux-x64.zip" \ + && yarp_sha512='{sha512_placeholder}' \ + && echo "$yarp_sha512 reverse-proxy.zip" | sha512sum -c - \ + && mkdir -p /app \ + && unzip reverse-proxy.zip -d /app \ + && rm reverse-proxy.zip + + +# YARP image +FROM $REPO:0.0.0-azurelinux3.0-distroless-amd64 + +COPY --from=installer ["/app", "/app"] + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from base image + ASPNETCORE_HTTP_PORTS= \ + # reverse-proxy environment variables + ASPNETCORE_URLS=http://+:5000 + +ENTRYPOINT [ "dotnet", "/app/yarp.dll", "/etc/reverse-proxy.config" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..2e06ecb250 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/reverse-proxy-2.3-azurelinux-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +RUN tdnf install -y \ + ca-certificates \ + unzip \ + && tdnf clean all + +# Retrieve YARP +RUN yarp_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output reverse-proxy.zip "https://artifacts.visualstudio.com/reverse-proxy/$yarp_version/reverse-proxy-linux-arm64.zip" \ + && yarp_sha512='{sha512_placeholder}' \ + && echo "$yarp_sha512 reverse-proxy.zip" | sha512sum -c - \ + && mkdir -p /app \ + && unzip reverse-proxy.zip -d /app \ + && rm reverse-proxy.zip + + +# YARP image +FROM $REPO:0.0.0-azurelinux3.0-distroless-arm64v8 + +COPY --from=installer ["/app", "/app"] + +ENV \ + # Unset ASPNETCORE_HTTP_PORTS from base image + ASPNETCORE_HTTP_PORTS= \ + # reverse-proxy environment variables + ASPNETCORE_URLS=http://+:5000 + +ENTRYPOINT [ "dotnet", "/app/yarp.dll", "/etc/reverse-proxy.config" ] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..829385c75b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..f6d7fa9352 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..fde4ddd15c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ed4c8b24c8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..5a5fbed997 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5e994d9484 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..287aad9ecf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..e9b68424f1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..a8638d3871 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-azurelinux3.0-distroless-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..50775a4139 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3bc4a8d03a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..23e5935864 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..bd9c83330a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fcdc8dbb6e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..ba84b13e53 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..840bc127f0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..0202ff27b6 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..3744f25b94 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..487733ca7b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..f58c5e1318 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6212b0eb70 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-noble-chiseled-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5c8f0693e8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..176188aae8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..cfcfc4bd0c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-slim-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8240284352 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c2ce070726 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..84d3a972bd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0773eeee23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..7797d22af8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b24da95f8c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0773eeee23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..7797d22af8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b24da95f8c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..2a213bd311 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..e74a5f0784 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..29f4094987 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..df8e05fad3 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..01f53262b5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..5b97573656 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0869f36a05 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..34d725bb10 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6a6992ba15 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..64994fc016 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..650c46fd35 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..fe8bdcefbc --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..f99f79ce03 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..571304f62d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..f4c96293ad --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-cbl-mariner2.0-distroless-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ee1d673949 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..844603ec9f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..665054b2a9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..51082a7979 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a96099dbdd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..670f8fdc27 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d195952419 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..d0890fb54a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..f32b8b4d2a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-chiseled-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..50775a4139 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3bc4a8d03a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..23e5935864 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dc989c1413 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7d34d447b4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..efaf4f57a8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d2cf6e089a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b35395eb04 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7b65c2d129 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8240284352 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c2ce070726 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..84d3a972bd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-8.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0773eeee23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..7797d22af8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b24da95f8c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0773eeee23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..7797d22af8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b24da95f8c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..2a213bd311 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..e74a5f0784 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..29f4094987 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..df8e05fad3 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..01f53262b5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..5b97573656 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM mcr.microsoft.com/azurelinux/base/core:3.0 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + ca-certificates \ + gzip \ + tar \ + && tdnf clean all + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-azurelinux3.0-distroless-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0869f36a05 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..34d725bb10 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6a6992ba15 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-bookworm-slim-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..50775a4139 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3bc4a8d03a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..23e5935864 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,46 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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=0.0.0 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dc989c1413 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..84f595e86e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7d34d447b4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,26 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +COPY --from=installer ["/dotnet", "/usr/share/dotnet"] + +RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..efaf4f57a8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..61aabfcabd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d2cf6e089a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b35395eb04 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-amd64 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c897ac0990 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm32v7 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7b65c2d129 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +ARG REPO=mcr.microsoft.com/dotnet/runtime-deps + +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN dotnet_version=0.0.0 \ + && curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-noble-chiseled-extra-arm64v8 + +# .NET Runtime version +ENV DOTNET_VERSION=0.0.0 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8240284352 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c2ce070726 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..84d3a972bd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-9.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,43 @@ +# escape=` + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Retrieve .NET Runtime +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + $dotnet_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Runtime/$dotnet_version/dotnet-runtime-$dotnet_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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/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=0.0.0 + +RUN setx /M PATH "%PATH%;C:\Program Files\dotnet" + +COPY --from=installer ["/dotnet", "/Program Files/dotnet"] diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..62322f4730 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8ef65ab32 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..780a807b7d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..80475e2b23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fb4a1a8b8a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..122d79810d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4a1177ce5b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..d31621b135 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..431b614b07 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ef3eeed435 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..d4c7fd5c4e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..460d8f5aa9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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_chisel \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dce472c7d0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +FROM amd64/debian:trixie-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 \ + libssl3t64 \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..256c4fedcb --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +FROM arm32v7/debian:trixie-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 \ + libssl3t64 \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..96120cdba2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,32 @@ +FROM arm64v8/debian:trixie-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 \ + libssl3t64 \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ecfa0e2e3b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM amd64/alpine:3.20 + +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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..12524a2f14 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM amd64/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..0d3a729ab2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM arm32v7/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4d79ec4db1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM arm64v8/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..b827e850b0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM arm32v7/alpine:3.20 + +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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..334793bc0e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM arm64v8/alpine:3.20 + +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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a0750b7233 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +FROM amd64/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c17280b2d8 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +FROM arm32v7/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b804ceff11 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +FROM arm64v8/alpine:3.20 + +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f24fee56eb --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -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 \ + # 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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5f0e729c7a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt @@ -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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..bc41861581 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt @@ -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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d2ded1bf3f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt @@ -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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..1f92d52256 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -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 \ + # 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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..8fc4fd1947 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -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 \ + # 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++ \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..665387943d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c20c4a22a0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7c09acf6b1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,31 @@ +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 \ + zlib + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..0b72528fed --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0b72528fed --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,37 @@ +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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c772d8c559 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# 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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ac13a469c2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt @@ -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 \ + openssl-libs \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..ac13a469c2 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt @@ -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 \ + openssl-libs \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..c772d8c559 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# 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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..15a4c72e56 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# 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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..15a4c72e56 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# 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 \ + zlib \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..33ba253a50 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +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 \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..46e9fb5715 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +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 \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7cf9403fdf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +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 \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8dab2d9065 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,51 @@ +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS base + +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 \ + zlib \ + && tdnf clean all + + +FROM base AS installer + +RUN tdnf install -y \ + shadow-utils \ + && tdnf clean all + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --no-create-home \ + app \ + && mkdir -p "/staging/etc" \ + # Copy user/group info to staging + && cp /etc/passwd /staging/etc/passwd \ + && cp /etc/group /staging/etc/group + + +# Final image +FROM base + +COPY --from=installer /staging/ / + +RUN install -d -m 0755 -o $APP_UID -g $APP_UID "/home/app" diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..8dab2d9065 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,51 @@ +FROM mcr.microsoft.com/cbl-mariner/base/core:2.0 AS base + +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 \ + zlib \ + && tdnf clean all + + +FROM base AS installer + +RUN tdnf install -y \ + shadow-utils \ + && tdnf clean all + +# Create a non-root user and group +RUN groupadd \ + --gid=$APP_UID \ + app \ + && useradd -l \ + --uid=$APP_UID \ + --gid=$APP_UID \ + --no-create-home \ + app \ + && mkdir -p "/staging/etc" \ + # Copy user/group info to staging + && cp /etc/passwd /staging/etc/passwd \ + && cp /etc/group /staging/etc/group + + +# Final image +FROM base + +COPY --from=installer /staging/ / + +RUN install -d -m 0755 -o $APP_UID -g $APP_UID "/home/app" diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..746d430677 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-amd64-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + libstdc++ \ + openssl-libs \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..82294df494 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + openssl-libs \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..82294df494 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,72 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + openssl-libs \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..746d430677 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + libgcc \ + libstdc++ \ + openssl-libs \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d6ca54573c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d6ca54573c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-cbl-mariner2.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,73 @@ +# Installer image +FROM mcr.microsoft.com/cbl-mariner/base/core:2.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=2.0 --installroot /staging \ + prebuilt-ca-certificates \ + \ + # .NET dependencies + glibc \ + icu \ + libgcc \ + libstdc++ \ + openssl-libs \ + tzdata \ + zlib \ + && tdnf clean all --releasever=2.0 --installroot /staging + +# Generate RPM manifest file by appending to the original manifest file from base distroless image +COPY --from=mcr.microsoft.com/cbl-mariner/distroless/minimal:2.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/cbl-mariner/distroless/minimal:2.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 diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ba3cc135e9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-amd64-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:jammy + +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 \ + libicu70 \ + libssl3 \ + libstdc++6 \ + tzdata \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..ba3cc135e9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:jammy + +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 \ + libicu70 \ + libssl3 \ + libstdc++6 \ + tzdata \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..ba3cc135e9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,33 @@ +FROM ubuntu.azurecr.io/ubuntu:jammy + +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 \ + libicu70 \ + libssl3 \ + libstdc++6 \ + tzdata \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d5b8927328 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt @@ -0,0 +1,56 @@ +FROM amd64/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + libstdc++6_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..53e109dc98 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,55 @@ +FROM amd64/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..2b051a8bcb --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,55 @@ +FROM arm32v7/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..28ab802694 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,55 @@ +FROM arm64v8/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..bee1c43c5c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,56 @@ +FROM arm32v7/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + libstdc++6_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..440f545925 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,56 @@ +FROM arm64v8/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libssl3_libs \ + libstdc++6_libs \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..01aa41d60c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +FROM amd64/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu70_libs \ + libssl3_libs \ + libstdc++6_libs \ + tzdata_zoneinfo \ + tzdata_zoneinfo-icu \ + zlib1g_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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..248f8ae755 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +FROM arm32v7/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu70_libs \ + libssl3_libs \ + libstdc++6_libs \ + tzdata_zoneinfo \ + tzdata_zoneinfo-icu \ + zlib1g_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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..ac73504cf4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +FROM arm64v8/buildpack-deps:jammy-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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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-22.04 --root /rootfs \ + base-files_base \ + base-files_release-info \ + ca-certificates_data \ + libc6_libs \ + libgcc-s1_libs \ + libicu70_libs \ + libssl3_libs \ + libstdc++6_libs \ + tzdata_zoneinfo \ + tzdata_zoneinfo-icu \ + zlib1g_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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..be4d5a5d8e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +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 \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..be4d5a5d8e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,34 @@ +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 \ + zlib1g \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c394844338 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..7cf9d4d8ed --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..748df80565 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..beb9b2fa05 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c430b9056c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..10fcce0ec9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,57 @@ +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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 \ + zlib1g_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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d623ea9dbf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM amd64/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f0e583dea5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +FROM amd64/alpine:3.20 + +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fe9076e9aa --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +FROM arm32v7/alpine:3.20 + +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d1f79bd322 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +FROM arm64v8/alpine:3.20 + +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..20823690cf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM arm32v7/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..ec5fd42c0a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,29 @@ +FROM arm64v8/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..6c5b0308cf --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-amd64-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM amd64/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..05a7bf3d98 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM arm32v7/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d415c513a1 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.20-extra-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,30 @@ +FROM arm64v8/alpine:3.20 + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..62322f4730 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..e6318beb9a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..b66b11e849 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6c8e7bd909 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,28 @@ +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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..e8ef65ab32 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..780a807b7d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..80475e2b23 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..fb4a1a8b8a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..122d79810d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-alpine3.21-extra-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..4eb65bdd6c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1236b601ba --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,71 @@ +# 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 \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..1236b601ba --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,71 @@ +# 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 \ + 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..39adf24f0e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b772aa494f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-azurelinux3.0-distroless-extra-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d50ef47f78 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..841fae83d9 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..c8341c254b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-amd64-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm32v7-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..a1d110b291 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-arm64v8-Dockerfile.approved.txt @@ -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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..a2858a16e4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..20481f49ef --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,54 @@ +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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 + + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..c79e2493df --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,54 @@ +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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 + + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..34be61fdb0 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,54 @@ +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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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 + + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..6e2902e129 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..7a7cd5c35a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..e0fda1580e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_amd64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..805467f0fb --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..73c3c0105f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -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/v0.0.0/chisel_v0.0.0_linux_arm64.tar.gz \ + && chisel_sha384='{sha386_placeholder}' \ + && 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/v0.0.0/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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..30a32de313 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,64 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..779b18f15e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-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=0.0.0 \ + # 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 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d6f285ad31 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,44 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-preview.1-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-alpine3.XX-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=0.0.0 \ + # 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 + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8d594d6e0b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,61 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-preview.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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..777b87b9ec --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,61 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-preview.1-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-preview.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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..929205a290 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,94 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..62bbb3facb --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,94 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..eb80249aaa --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,94 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1c3b12107c --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.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=0.0.0 \ + # 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/* + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a742928325 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.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=0.0.0 \ + # 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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d95b11401e --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-noble-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm64v8/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.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=0.0.0 \ + # 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/* + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..9d8515a804 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM amd64/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-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=0.0.0 \ + # 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-13 \ + # 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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..bb7672e270 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-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=0.0.0 \ + # 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-13-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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..cf69cd5d4b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-trixie-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,60 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm64v8/buildpack-deps:trixie-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-preview.1-trixie-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=0.0.0 \ + # 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-13-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/* + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b370dd7861 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2019-amd64-Dockerfile.approved.txt @@ -0,0 +1,91 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2019-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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 + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..3fcc2f6439 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,91 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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 + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..f555efdff5 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,91 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-preview.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=0.0.0 ` + # 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 + +RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" + +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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..b76b5fd3f7 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-amd64-Dockerfile.approved.txt @@ -0,0 +1,61 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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.20 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5f7812c897 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-alpine3.XX-amd64 + +RUN apk add --upgrade --no-cache \ + build-base \ + clang \ + zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..19046afa59 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +RUN apk add --upgrade --no-cache \ + build-base \ + clang \ + zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a7fb938a3f --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,45 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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.20-arm32 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..81dfe667a4 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.20-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,45 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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.20-arm64 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..da3d7e8038 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-amd64-Dockerfile.approved.txt @@ -0,0 +1,61 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-amd64 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5f7812c897 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-alpine3.XX-amd64 + +RUN apk add --upgrade --no-cache \ + build-base \ + clang \ + zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..19046afa59 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,8 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-alpine3.XX-arm64v8 + +RUN apk add --upgrade --no-cache \ + build-base \ + clang \ + zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..a5fdc04066 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,45 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm32v7 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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-arm32 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..9e2744bc09 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-alpine3.21-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,45 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-alpine3.XX-arm64v8 AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN wget --header="Authorization: Basic `echo $ACCESSTOKEN:$ACCESSTOKEN | base64 -w 0`" -O dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-musl-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-alpine3.XX-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=0.0.0 \ + # 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-arm64 + +RUN apk add --upgrade --no-cache \ + curl \ + git \ + icu-data-full \ + icu-libs \ + tzdata + +COPY --from=installer ["/usr/share/dotnet", "/usr/share/dotnet"] + +# Trigger first run experience by running arbitrary cmd +RUN dotnet help diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..51550538ac --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,59 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-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=0.0.0 \ + # 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 + +RUN tdnf install -y \ + git \ + libgcc-atomic \ + tar \ + && tdnf clean all + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..ab3e377c59 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-azurelinux3.0-amd64 + +RUN tdnf install -y \ + build-essential \ + clang \ + zlib-devel \ + && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..d54911d329 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 + +RUN tdnf install -y \ + build-essential \ + clang \ + zlib-devel \ + && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..b4298ec329 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,59 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-azurelinux3.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-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=0.0.0 \ + # 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 + +RUN tdnf install -y \ + git \ + libgcc-atomic \ + tar \ + && tdnf clean all + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..1c3f2a2c73 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-amd64-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM amd64/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..1fdf11162a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm32v7/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..3b9eeffdcd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-bookworm-slim-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm64v8/buildpack-deps:bookworm-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..d657ebfc88 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-amd64-Dockerfile.approved.txt @@ -0,0 +1,59 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-amd64 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-cbl-mariner2.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=0.0.0 \ + # 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-CBL-Mariner-2.0 + +RUN tdnf install -y \ + git \ + libatomic_ops \ + tar \ + && tdnf clean all + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..9d52c73848 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-cbl-mariner2.0-amd64 + +RUN tdnf install -y \ + build-essential \ + clang \ + zlib-devel \ + && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..5380501a6b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-cbl-mariner2.0-arm64v8 + +RUN tdnf install -y \ + build-essential \ + clang \ + zlib-devel \ + && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..6f26434845 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-cbl-mariner2.0-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,59 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM $REPO:0.0.0-cbl-mariner2.0-arm64v8 AS installer + +ARG ACCESSTOKEN + +RUN tdnf install -y \ + tar \ + && tdnf clean all + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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 + + +# .NET SDK image +FROM $REPO:0.0.0-cbl-mariner2.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=0.0.0 \ + # 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-CBL-Mariner-2.0-arm64 + +RUN tdnf install -y \ + git \ + libatomic_ops \ + tar \ + && tdnf clean all + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..e054eaa952 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-amd64-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM amd64/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-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=0.0.0 \ + # 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-22.04 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..5cd4bc678a --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,16 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-jammy-amd64 + +RUN echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted" > /etc/apt/sources.list.d/arm64.list \ + && echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted" >> /etc/apt/sources.list.d/arm64.list \ + && sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list \ + && dpkg --add-architecture arm64 \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + clang \ + gcc-aarch64-linux-gnu \ + llvm \ + zlib1g-dev \ + zlib1g-dev:arm64 \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..0d94dde796 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-aot-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,16 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-jammy-arm64v8 + +RUN echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted" > /etc/apt/sources.list.d/amd64.list \ + && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted" >> /etc/apt/sources.list.d/amd64.list \ + && sed -i -e 's/deb http/deb [arch=arm64] http/g' /etc/apt/sources.list \ + && dpkg --add-architecture amd64 \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + clang \ + gcc-x86-64-linux-gnu \ + llvm \ + zlib1g-dev \ + zlib1g-dev:amd64 \ + && rm -rf /var/lib/apt/lists/* diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm32v7-Dockerfile.approved.txt new file mode 100644 index 0000000000..cf60577508 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm32v7-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm32v7/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-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=0.0.0 \ + # 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-22.04-arm32 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm64v8-Dockerfile.approved.txt new file mode 100644 index 0000000000..eba1bb7597 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-jammy-arm64v8-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM arm64v8/buildpack-deps:jammy-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-arm64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-jammy-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=0.0.0 \ + # 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-22.04-arm64 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..8a7d96ad4b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-1809-amd64-Dockerfile.approved.txt @@ -0,0 +1,92 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:1809-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-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=0.0.0 ` + # 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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..7bb1451e79 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2022-amd64-Dockerfile.approved.txt @@ -0,0 +1,92 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-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=0.0.0 ` + # 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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..dc314c014b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -0,0 +1,92 @@ +# escape=` + +ARG REPO=mcr.microsoft.com/dotnet/aspnet + +# Installer image +FROM mcr.microsoft.com/windows/servercore:ltsc2025-amd64 AS installer + +ARG ACCESSTOKEN + +# Download MinGit +RUN powershell -Command " ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v0.0.0.windows.0/MinGit-0.0.0.2-64-bit.zip; ` + $mingit_sha256 = '{sha256_placeholder}'; ` + 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" + +SHELL ["powershell", "-command"] +RUN ` + $ErrorActionPreference = 'Stop'; ` + $ProgressPreference = 'SilentlyContinue'; ` + ` + # Retrieve .NET SDK + $sdk_version = '0.0.0'; ` + ` + $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); ` + $Headers = @{Authorization = \"Basic $Base64AuthInfo\"}; ` + Invoke-WebRequest -OutFile dotnet.zip \"https://artifacts.visualstudio.com/Sdk/$sdk_version/dotnet-sdk-$sdk_version-win-x64.zip\" -Headers $Headers; ` + ` + $dotnet_sha512 = '{sha512_placeholder}'; ` + 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 = '0.0.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 = '{sha512_placeholder}'; ` + 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:0.0.0-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=0.0.0 ` + # 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 + +# 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..c8b10779bd --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-amd64-Dockerfile.approved.txt @@ -0,0 +1,58 @@ +ARG REPO=mcr.microsoft.com/dotnet/aspnet +# Installer image +FROM amd64/buildpack-deps:noble-curl AS installer + +ARG ACCESSTOKEN + +# Install .NET SDK +RUN curl -u :$ACCESSTOKEN --basic -fSL --output dotnet.tar.gz "https://artifacts.visualstudio.com/Sdk/0.0.0/dotnet-sdk-0.0.0-linux-x64.tar.gz" \ + && dotnet_sha512='{sha512_placeholder}' \ + && 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:0.0.0-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=0.0.0 \ + # 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 + +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=0.0.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='{sha512_placeholder}' \ + && 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/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-aot-amd64-Dockerfile.approved.txt new file mode 100644 index 0000000000..fd31b5e8b3 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-8.0-noble-aot-amd64-Dockerfile.approved.txt @@ -0,0 +1,23 @@ +# syntax=docker/dockerfile:1 +ARG REPO=mcr.microsoft.com/dotnet/sdk +FROM $REPO:0.0.0-noble-amd64 + +COPY < + Directory.GetFiles( + path: directory, + searchPattern: "Dockerfile", + new EnumerationOptions { RecurseSubdirectories = true }); +} diff --git a/tests/Microsoft.DotNet.Docker.Tests/DockerfileInfo.cs b/tests/Microsoft.DotNet.Docker.Tests/DockerfileInfo.cs new file mode 100644 index 0000000000..6a6f37f523 --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/DockerfileInfo.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#nullable enable + +using System; +using System.Text.RegularExpressions; + +namespace Microsoft.DotNet.Docker.Tests; + +/// +/// Represents information about a specific Dockerfile's location. +/// +/// The repository directory where the Dockerfile is located. +/// The version directory where the Dockerfile is located. +/// The operating system directory where the Dockerfile is located. +/// The architecture directory where the Dockerfile is located. +public partial record DockerfileInfo(string Repo, string MajorMinor, string Os, string Architecture) +{ + [GeneratedRegex(@"src/(?.+)/(?\d+\.\d+)/(?.+)/(?.+)")] + private static partial Regex DockerfileRegex { get; } + + public static DockerfileInfo Create(string dockerfilePath) + { + Match match = DockerfileRegex.Match(dockerfilePath); + if (!match.Success) + { + throw new Exception($"Failed to parse dockerfile: {dockerfilePath}"); + } + + return new DockerfileInfo( + match.Groups["repo"].Value, + match.Groups["major_minor"].Value, + match.Groups["os"].Value, + match.Groups["architecture"].Value); + } +} diff --git a/tests/Microsoft.DotNet.Docker.Tests/Extensions/ShouldlyExtensions.cs b/tests/Microsoft.DotNet.Docker.Tests/Extensions/ShouldlyExtensions.cs new file mode 100644 index 0000000000..a50a6ca63d --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/Extensions/ShouldlyExtensions.cs @@ -0,0 +1,20 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Shouldly; + +namespace Microsoft.DotNet.Docker.Tests.Extensions; + +internal static class ShouldlyExtensions +{ + public static void ShouldAllSatisfy(this IEnumerable collection, Action condition) + { + collection.ShouldSatisfyAllConditions( + collection.Select( + item => new Action(() => condition(item))).ToArray()); + } +} diff --git a/tests/Microsoft.DotNet.Docker.Tests/GeneratedArtifactTests.cs b/tests/Microsoft.DotNet.Docker.Tests/GeneratedArtifactTests.cs index 37c5483e2d..8adc864e76 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/GeneratedArtifactTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/GeneratedArtifactTests.cs @@ -2,63 +2,163 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; +using System.Text.RegularExpressions; +using Microsoft.DotNet.Docker.Tests.Extensions; +using Shouldly; +using Shouldly.Configuration; using Xunit; using Xunit.Abstractions; -namespace Microsoft.DotNet.Docker.Tests +namespace Microsoft.DotNet.Docker.Tests; + +[Trait("Category", "pre-build")] +public class GeneratedArtifactTests { - [Trait("Category", "pre-build")] - public class GeneratedArtifactTests + private static readonly string s_generateDockerfilesScript = + Path.Combine(Config.SourceRepoRoot, "eng", "dockerfile-templates", "Get-GeneratedDockerfiles.ps1"); + + private static readonly string s_generateTagsDocumentationScript = + Path.Combine(Config.SourceRepoRoot, "eng", "readme-templates", "Get-GeneratedReadmes.ps1"); + + private ITestOutputHelper OutputHelper { get; } + + public GeneratedArtifactTests(ITestOutputHelper outputHelper) { - private ITestOutputHelper OutputHelper { get; } + OutputHelper = outputHelper; + } - public GeneratedArtifactTests(ITestOutputHelper outputHelper) - { - OutputHelper = outputHelper; - } + [Fact] + public void VerifyDockerfileTemplates() + { + ValidateGeneratedArtifacts(s_generateDockerfilesScript, + $"The Dockerfiles are out of sync with the templates." + + $"Update the Dockerfiles by running `{s_generateDockerfilesScript}`."); + } - [Fact] - public void VerifyDockerfileTemplates() - { - string generateDockerfilesScript = Path.Combine(Config.SourceRepoRoot, "eng", "dockerfile-templates", "Get-GeneratedDockerfiles.ps1"); - ValidateGeneratedArtifacts( - generateDockerfilesScript, - $"The Dockerfiles are out of sync with the templates. Update the Dockerfiles by running `{generateDockerfilesScript}`."); - } + [Fact] + public void VerifyReadmeTemplates() + { + ValidateGeneratedArtifacts(s_generateTagsDocumentationScript, + $"The Readmes are out of sync with the templates." + + $"Update the Readmes by running `{s_generateTagsDocumentationScript}`."); + } - [Fact] - public void VerifyReadmeTemplates() - { - string generateTagsDocumentationScript = Path.Combine(Config.SourceRepoRoot, "eng", "readme-templates", "Get-GeneratedReadmes.ps1"); - ValidateGeneratedArtifacts( - generateTagsDocumentationScript, - $"The Readmes are out of sync with the templates. Update the Readmes by running `{generateTagsDocumentationScript}`."); - } + [Fact] + public void VerifyInternalDockerfilesOutput() + { + const string InternalDockerfilesSubfolder = "Baselines"; - private void ValidateGeneratedArtifacts(string generateScriptPath, string errorMessage) - { - string powershellArgs = $"-File {generateScriptPath} -Validate"; - (Process Process, string StdOut, string StdErr) executeResult; + using TempFolderContext outputDirectory = FileHelper.UseTempFolder(); + string dockerfilesOutputDirectory = Path.Combine(outputDirectory.Path, "src"); + string errorMessage = $"Failed to generate Dockerfiles using `{s_generateDockerfilesScript}`."; - // Support both execution within Windows 10, Nano Server and Linux environments. - try - { - executeResult = ExecuteHelper.ExecuteProcess("pwsh", powershellArgs, OutputHelper); - } - catch (Win32Exception) + // Override base URLs to make templates generate internal versions of Dockerfiles + const string InternalBaseUrl = "https://artifacts.visualstudio.com"; + string customImageBuilderArgs = + $" --var 'base-url|public|maintenance|main={InternalBaseUrl}'" + + $" --var 'base-url|public|maintenance|nightly={InternalBaseUrl}'" + + $" --var 'base-url|public|preview|main={InternalBaseUrl}'" + + $" --var 'base-url|public|preview|nightly={InternalBaseUrl}'"; + + // Generate internal Dockerfiles + ExecuteScript( + s_generateDockerfilesScript, + $"-Output {outputDirectory.Path} -CustomImageBuilderArgs \"{customImageBuilderArgs}\"", + errorMessage); + + string[] dockerfilePaths = DockerfileHelper.GetAllDockerfilesInDirectory(dockerfilesOutputDirectory); + + // Set up configuration for approval tests + List<(Regex pattern, string replacement)> replacePatterns = + [ + (DockerfileHelper.Sha512Regex, "{sha512_placeholder}"), + (DockerfileHelper.Sha386Regex, "{sha386_placeholder}"), + (DockerfileHelper.Sha256Regex, "{sha256_placeholder}"), + (DockerfileHelper.VersionRegex, "0.0.0"), + (DockerfileHelper.MinGitVersionRegex, "v0.0.0.windows.0"), + (DockerfileHelper.AlpineVersionRegex, "alpine3.XX"), + ]; + + string DockerfileScrubber(string content) + { + foreach ((Regex pattern, string replacement) in replacePatterns) { - executeResult = ExecuteHelper.ExecuteProcess("powershell", powershellArgs, OutputHelper); + content = pattern.Replace(content, replacement, count: 99); } - if (executeResult.Process.ExitCode != 0) + return content; + } + + string GetDiscriminator(string dockerfilePath) => + dockerfilePath + .Remove(0, dockerfilesOutputDirectory.Length + 1) + .Replace('/', '-') + .Replace('\\', '-'); + + string MatchTestFilenameGenerator( + TestMethodInfo testMethodInfo, + string discriminator, + string fileType, + string fileExtension) => + Path.Combine( + testMethodInfo.DeclaringTypeName, + testMethodInfo.MethodName, + // The discriminator identifies the Dockerfile. + // Remove the first character to remove the leading '.' + $"{discriminator[1..]}.{fileType}.{fileExtension}"); + + Action Configure(string dockerfilePath) => + (ShouldMatchConfigurationBuilder config) => { - OutputHelper.WriteLine(errorMessage); - } + config + // Don't launch diff tool automatically since we have a large number of files + .NoDiff() + // Use the caller location (this method) for the test method name, + // since we perform the comparison inside an extension method + .UseCallerLocation() + .SubFolder(InternalDockerfilesSubfolder) + // Discriminator determines the name of the approved files, + // which needs to be unique per Dockerfile + .WithDiscriminator(GetDiscriminator(dockerfilePath)) + .WithFilenameGenerator(MatchTestFilenameGenerator) + .WithScrubber(DockerfileScrubber); + }; + + // Validate the generated Dockerfiles + dockerfilePaths.ShouldAllSatisfy( + path => File.ReadAllText(path).ShouldMatchApproved(configureOptions: Configure(path))); + } - Assert.Equal(0, executeResult.Process.ExitCode); + private void ValidateGeneratedArtifacts(string generateScriptPath, string errorMessage) + { + ExecuteScript(generateScriptPath, "-Validate", errorMessage); + } + + private void ExecuteScript(string generateScriptPath, string arguments, string errorMessage) + { + string powershellArgs = $"-File {generateScriptPath} {arguments}"; + (Process Process, string StdOut, string StdErr) executeResult; + + // Support both execution within Windows 10, Nano Server and Linux environments. + try + { + executeResult = ExecuteHelper.ExecuteProcess("pwsh", powershellArgs, OutputHelper); + } + catch (Win32Exception) + { + executeResult = ExecuteHelper.ExecuteProcess("powershell", powershellArgs, OutputHelper); } + + if (executeResult.Process.ExitCode != 0) + { + OutputHelper.WriteLine(errorMessage); + } + + Assert.Equal(0, executeResult.Process.ExitCode); } } diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs index ef54e286b0..856bd27a20 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs @@ -136,12 +136,15 @@ protected void PullImageIfNecessary(string imageName, DockerHelper dockerHelper, public static string GetImageName(string tag, string repoName, string repoNameModifier = null) { - string repo = $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; + string repo = GetRepoName(repoName, repoNameModifier); string registry = GetRegistryName(repo, tag); return $"{registry}{repo}:{tag}"; } + public static string GetRepoName(string repoName, string repoNameModifier = null) => + $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; + protected string GetTagName(string tagPrefix, string os, string tagPostfix = null) { IEnumerable tagParts = [ tagPrefix, os, tagPostfix, GetArchTagSuffix() ]; @@ -149,7 +152,7 @@ protected string GetTagName(string tagPrefix, string os, string tagPostfix = nul return string.Join('-', tagParts); } - protected virtual string GetArchTagSuffix() => (Arch == Arch.Amd64 && !DockerHelper.IsLinuxContainerModeEnabled) + protected virtual string GetArchTagSuffix() => (Arch == Arch.Amd64 && IsWindows) ? string.Empty : GetArchLabel(); diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs index 9984b75248..e234947d9c 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageVersion.cs @@ -11,7 +11,7 @@ public readonly record struct ImageVersion private readonly Version _version; public static readonly ImageVersion V8_0 = new(new Version(8, 0), isPreview: false); - public static readonly ImageVersion V8_1_Preview = new(new Version(8, 1), isPreview: true); + public static readonly ImageVersion V8_1 = new(new Version(8, 1), isPreview: false); 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); diff --git a/tests/Microsoft.DotNet.Docker.Tests/ManifestHelper.cs b/tests/Microsoft.DotNet.Docker.Tests/ManifestHelper.cs index 8f1926a122..3cb72ffb6f 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ManifestHelper.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ManifestHelper.cs @@ -14,8 +14,6 @@ namespace Microsoft.DotNet.Docker.Tests { public static class ManifestHelper { - public record DockerfileInfo(string Repo, string MajorMinor, string Os, string Architecture); - public static Manifest GetManifest() => JsonConvert.DeserializeObject(Config.Manifest.Value.ToString()) ?? throw new Exception("Failed to deserialize manifest"); @@ -29,11 +27,9 @@ public static IEnumerable GetResolvedProductVersions(Repo repo) => public static List GetResolvedSharedTags(Image image) => image.SharedTags.Keys.Select(GetVariableValue).ToList(); - public static List GetResolvedTags(Platform platform) => + public static List GetResolvedTags(this Platform platform) => platform.Tags.Keys.Select(GetVariableValue).ToList(); - private static readonly string DockerfileRegex = @"src/(?.+)/(?\d+\.\d+)/(?.+)/(?.+)"; - public static Dictionary> GetDockerfileTags(Repo repo) { Dictionary> dockerfileTags = new Dictionary>(); @@ -41,28 +37,20 @@ public static Dictionary> GetDockerfileTags(Repo re { foreach (Platform platform in image.Platforms) { - DockerfileInfo dockerfileInfo = GetDockerfileInfo(platform.Dockerfile); - if (!dockerfileTags.ContainsKey(dockerfileInfo)) + DockerfileInfo dockerfileInfo = DockerfileInfo.Create(platform.Dockerfile); + if (!dockerfileTags.TryGetValue(dockerfileInfo, out List? value)) { - dockerfileTags[dockerfileInfo] = new List(); + value = []; + dockerfileTags[dockerfileInfo] = value; } - dockerfileTags[dockerfileInfo].AddRange(GetResolvedTags(platform)); - dockerfileTags[dockerfileInfo].AddRange(GetResolvedSharedTags(image)); + + value.AddRange(GetResolvedTags(platform)); + value.AddRange(GetResolvedSharedTags(image)); } } return dockerfileTags; } - public static DockerfileInfo GetDockerfileInfo(string dockerfile) - { - var match = Regex.Match(dockerfile, DockerfileRegex); - if (!match.Success) - { - throw new Exception($"Failed to parse dockerfile: {dockerfile}"); - } - return new DockerfileInfo(match.Groups["repo"].Value, match.Groups["major_minor"].Value, match.Groups["os"].Value, match.Groups["architecture"].Value); - } - private static string GetVariableValue(string input) { string variablePattern = @"\$\((?.+)\)"; diff --git a/tests/Microsoft.DotNet.Docker.Tests/Microsoft.DotNet.Docker.Tests.csproj b/tests/Microsoft.DotNet.Docker.Tests/Microsoft.DotNet.Docker.Tests.csproj index 16b7d2c6e7..b1509d8786 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Microsoft.DotNet.Docker.Tests.csproj +++ b/tests/Microsoft.DotNet.Docker.Tests/Microsoft.DotNet.Docker.Tests.csproj @@ -12,6 +12,7 @@ + all diff --git a/tests/Microsoft.DotNet.Docker.Tests/OS.cs b/tests/Microsoft.DotNet.Docker.Tests/OS.cs index f7aedab0c3..79f8d9a34e 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/OS.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/OS.cs @@ -38,9 +38,11 @@ public static class OS public const string NanoServer = "nanoserver"; public const string NanoServer1809 = $"{NanoServer}-1809"; public const string NanoServerLtsc2022 = $"{NanoServer}-ltsc2022"; + public const string NanoServerLtsc2025 = $"{NanoServer}-ltsc2025"; public const string ServerCore = "windowsservercore"; public const string ServerCoreLtsc2019 = $"{ServerCore}-ltsc2019"; public const string ServerCoreLtsc2022 = $"{ServerCore}-ltsc2022"; + public const string ServerCoreLtsc2025 = $"{ServerCore}-ltsc2025"; // Helpers public const string DistrolessSuffix = "-distroless"; diff --git a/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs b/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs index 5fb53e6e1d..8dce658682 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ProductImageData.cs @@ -71,7 +71,7 @@ public string GetDockerfilePath(DotNetImageRepo imageRepo) IEnumerable pathComponents = [ "src", - GetImageRepoName(imageRepo), + GetDotNetImageRepoName(imageRepo), Version.ToString(), OSDir + GetVariantSuffix(), GetArchLabel() @@ -86,7 +86,7 @@ private string GetVariantSuffix() => public override string GetIdentifier(string type) => $"{VersionString}-{base.GetIdentifier(type)}"; - public static string GetImageRepoName(DotNetImageRepo imageRepo) => + public static string GetDotNetImageRepoName(DotNetImageRepo imageRepo) => Enum.GetName(typeof(DotNetImageRepo), imageRepo).ToLowerInvariant().Replace('_', '-'); public static string GetImageVariantName(DotNetImageVariant imageVariant) @@ -117,7 +117,7 @@ public string GetImage(DotNetImageRepo imageRepo, DockerHelper dockerHelper, boo } string tag = GetTagName(imageRepo); - string imageName = GetImageName(tag, GetImageRepoName(imageRepo)); + string imageName = GetImageName(tag, GetDotNetImageRepoName(imageRepo)); if (!skipPull) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs index af5ecfc874..9bac902779 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs @@ -113,7 +113,7 @@ public void PlatformTag_TagExists( VersionType versionType, bool checkOs, bool checkArchitecture, - Func skipDockerFileOn) + Func skipDockerFileOn) { if (!checkOs && !checkArchitecture) @@ -122,10 +122,10 @@ public void PlatformTag_TagExists( "Please use the VersionTag tests for this scenario."); } - Dictionary> dockerfileTags = ManifestHelper.GetDockerfileTags(repo); - foreach (KeyValuePair> dockerfileTag in dockerfileTags) + Dictionary> dockerfileTags = ManifestHelper.GetDockerfileTags(repo); + foreach (KeyValuePair> dockerfileTag in dockerfileTags) { - ManifestHelper.DockerfileInfo dockerfileInfo = dockerfileTag.Key; + DockerfileInfo dockerfileInfo = dockerfileTag.Key; if (skipDockerFileOn(dockerfileInfo)) { continue; @@ -205,7 +205,7 @@ Regex GetFloatingTagRegex(DockerfileInfo info) => public void VersionTag_SameOsAndVersion(Repo repo, VersionType versionType) { // Group tags -> dockerfiles - Dictionary> tagsToDockerfiles = ManifestHelper.GetDockerfileTags(repo) + Dictionary> tagsToDockerfiles = ManifestHelper.GetDockerfileTags(repo) .SelectMany(pair => pair.Value .Where(tag => IsTagOfFormat( tag, @@ -217,10 +217,10 @@ public void VersionTag_SameOsAndVersion(Repo repo, VersionType versionType) .GroupBy(pair => pair.tag, pair => pair.Key) .ToDictionary(group => group.Key, group => group.ToList()); - foreach (KeyValuePair> tagToDockerfiles in tagsToDockerfiles) + foreach (KeyValuePair> tagToDockerfiles in tagsToDockerfiles) { string tag = tagToDockerfiles.Key; - List dockerfiles = tagToDockerfiles.Value; + List dockerfiles = tagToDockerfiles.Value; List dockerfileVersions = dockerfiles .Select(dockerfile => dockerfile.MajorMinor) @@ -489,7 +489,7 @@ private static object[] GetTagTestInput( VersionType? versionType = null, bool? checkOs = false, bool? checkArchitecture = false, - Func? skipDockerfileOn = null) + Func? skipDockerfileOn = null) { switch (testType) { @@ -522,18 +522,18 @@ private static object[] GetTagTestInput( } } - private static bool IsWindows(ManifestHelper.DockerfileInfo dockerfileInfo) => + private static bool IsWindows(DockerfileInfo dockerfileInfo) => dockerfileInfo.Os.Contains("windowsservercore") || dockerfileInfo.Os.Contains("nanoserver"); // Certain versions of appliance repos use a new tag schema. // This new schema excludes the OS from all tags. // The aspire-dashboard repo uses this schema for all versions. // The monitor and monitor-base repos use this schema for versions 9 and above. - private static bool IsApplianceVersionUsingOldSchema(ManifestHelper.DockerfileInfo dockerfileInfo) => + private static bool IsApplianceVersionUsingOldSchema(DockerfileInfo dockerfileInfo) => dockerfileInfo.Repo.Contains("monitor") && GetVersion(dockerfileInfo.MajorMinor).Major <= 8; // - private static bool IsApplianceVersionUsingNewSchema(ManifestHelper.DockerfileInfo dockerfileInfo) => + private static bool IsApplianceVersionUsingNewSchema(DockerfileInfo dockerfileInfo) => !IsApplianceVersionUsingOldSchema(dockerfileInfo); private static bool IsExpectedMajorMinorVersion(Repo repo, string version) @@ -602,7 +602,7 @@ private static Regex GetTagRegex(VersionType versionType, string? majorMinor, st return new Regex($"^{tagRegex}" + (os != null ? $"-{os}" : string.Empty) + (architecture != null ? $"-{architecture}" : string.Empty) + "$"); } - private static Version GetAlpineVersion(ManifestHelper.DockerfileInfo dockerfileInfo) + private static Version GetAlpineVersion(DockerfileInfo dockerfileInfo) { string parsedOs = dockerfileInfo.Os.Replace(OS.Alpine, string.Empty); parsedOs.Should().NotBeNullOrWhiteSpace( diff --git a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs index 9190777850..4dfa95220c 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/TestData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/TestData.cs @@ -68,6 +68,8 @@ public static class TestData ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, new ProductImageData { Version = V8_0, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V8_0, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, SdkImageVariant = DotNetImageVariant.AOT, + ImageVariant = DotNetImageVariant.AOT, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, new ProductImageData { Version = V8_0, OS = OS.Mariner20, Arch = Arch.Arm64 }, new ProductImageData { Version = V8_0, OS = OS.Mariner20Distroless, Arch = Arch.Arm64, SdkOS = OS.Mariner20 }, new ProductImageData { Version = V8_0, OS = OS.Mariner20Distroless, Arch = Arch.Arm64, SdkOS = OS.Mariner20, @@ -76,6 +78,8 @@ public static class TestData ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, new ProductImageData { Version = V8_0, OS = OS.Mariner20Distroless, Arch = Arch.Arm64, SdkOS = OS.Mariner20, ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V8_0, OS = OS.Mariner20Distroless, Arch = Arch.Arm64, SdkOS = OS.Mariner20, SdkImageVariant = DotNetImageVariant.AOT, + ImageVariant = DotNetImageVariant.AOT, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, new ProductImageData { Version = V8_0, OS = OS.BookwormSlim, Arch = Arch.Arm64 }, new ProductImageData { Version = V8_0, OS = OS.Jammy, Arch = Arch.Arm64 }, new ProductImageData { Version = V8_0, OS = OS.JammyChiseled, Arch = Arch.Arm64, SdkOS = OS.Jammy }, @@ -162,6 +166,8 @@ public static class TestData ImageVariant = DotNetImageVariant.Composite, SupportedImageRepos = DotNetImageRepo.Aspnet }, new ProductImageData { Version = V9_0, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, ImageVariant = DotNetImageVariant.Composite | DotNetImageVariant.Extra, SupportedImageRepos = DotNetImageRepo.Aspnet }, + new ProductImageData { Version = V9_0, OS = OS.AzureLinux30Distroless, Arch = Arch.Arm64, SdkOS = OS.AzureLinux30, SdkImageVariant = DotNetImageVariant.AOT, + ImageVariant = DotNetImageVariant.AOT, SupportedImageRepos = DotNetImageRepo.Runtime_Deps }, new ProductImageData { Version = V9_0, OS = OS.BookwormSlim, Arch = Arch.Arm64 }, new ProductImageData { Version = V9_0, OS = OS.Noble, Arch = Arch.Arm64 }, new ProductImageData { Version = V9_0, OS = OS.NobleChiseled, Arch = Arch.Arm64, SdkOS = OS.Noble }, @@ -207,12 +213,17 @@ public static class TestData { new ProductImageData { Version = V8_0, OS = OS.NanoServer1809, Arch = Arch.Amd64 }, new ProductImageData { Version = V8_0, OS = OS.NanoServerLtsc2022, Arch = Arch.Amd64 }, + new ProductImageData { Version = V8_0, OS = OS.NanoServerLtsc2025, Arch = Arch.Amd64 }, new ProductImageData { Version = V8_0, OS = OS.ServerCoreLtsc2019, Arch = Arch.Amd64 }, new ProductImageData { Version = V8_0, OS = OS.ServerCoreLtsc2022, Arch = Arch.Amd64 }, + new ProductImageData { Version = V8_0, OS = OS.ServerCoreLtsc2025, Arch = Arch.Amd64 }, + new ProductImageData { Version = V9_0, OS = OS.NanoServer1809, Arch = Arch.Amd64 }, new ProductImageData { Version = V9_0, OS = OS.NanoServerLtsc2022, Arch = Arch.Amd64 }, + new ProductImageData { Version = V9_0, OS = OS.NanoServerLtsc2025, Arch = Arch.Amd64 }, new ProductImageData { Version = V9_0, OS = OS.ServerCoreLtsc2019, Arch = Arch.Amd64 }, new ProductImageData { Version = V9_0, OS = OS.ServerCoreLtsc2022, Arch = Arch.Amd64 }, + new ProductImageData { Version = V9_0, OS = OS.ServerCoreLtsc2025, Arch = Arch.Amd64 } }; private static readonly SampleImageData[] s_linuxSampleTestData = @@ -263,8 +274,12 @@ public static class TestData new ProductImageData { Version = V8_0, VersionFamily = V8_0, OS = OS.JammyChiseled, OSTag = OS.UbuntuChiseled, Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor }, new ProductImageData { Version = V8_0, VersionFamily = V8_0, OS = OS.Mariner20Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Amd64, SupportedImageRepos = DotNetImageRepo.Monitor }, new ProductImageData { Version = V8_0, VersionFamily = V8_0, OS = OS.Mariner20Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor }, - new ProductImageData { Version = V9_0, VersionFamily = V9_0, OS = OS.AzureLinux30Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Amd64, SupportedImageRepos = DotNetImageRepo.Monitor }, - new ProductImageData { Version = V9_0, VersionFamily = V9_0, OS = OS.AzureLinux30Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor } + new ProductImageData { Version = V8_1, VersionFamily = V8_0, OS = OS.JammyChiseled, OSTag = OS.UbuntuChiseled, Arch = Arch.Amd64, SupportedImageRepos = DotNetImageRepo.Monitor }, + new ProductImageData { Version = V8_1, VersionFamily = V8_0, OS = OS.JammyChiseled, OSTag = OS.UbuntuChiseled, Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor }, + new ProductImageData { Version = V8_1, VersionFamily = V8_0, OS = OS.Mariner20Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Amd64, SupportedImageRepos = DotNetImageRepo.Monitor }, + new ProductImageData { Version = V8_1, VersionFamily = V8_0, OS = OS.Mariner20Distroless, OSTag = OS.MarinerDistroless, Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor }, + new ProductImageData { Version = V9_0, VersionFamily = V9_0, OS = OS.AzureLinux30Distroless, OSTag = "", Arch = Arch.Amd64, SupportedImageRepos = DotNetImageRepo.Monitor }, + new ProductImageData { Version = V9_0, VersionFamily = V9_0, OS = OS.AzureLinux30Distroless, OSTag = "", Arch = Arch.Arm64, SupportedImageRepos = DotNetImageRepo.Monitor } }; private static readonly ProductImageData[] s_windowsMonitorTestData = @@ -293,6 +308,15 @@ public static class TestData }, }; + public static IEnumerable AllImageData => + [ + ..s_linuxTestData, + ..s_windowsTestData, + ..s_AspireDashboardTestData, + ..s_linuxMonitorTestData, + ..s_windowsMonitorTestData + ]; + public static IEnumerable GetImageData( DotNetImageRepo imageRepo, DotNetImageVariant variant = DotNetImageVariant.None) diff --git a/tests/Microsoft.DotNet.Docker.Tests/TestDataTests.cs b/tests/Microsoft.DotNet.Docker.Tests/TestDataTests.cs new file mode 100644 index 0000000000..eda7549c6b --- /dev/null +++ b/tests/Microsoft.DotNet.Docker.Tests/TestDataTests.cs @@ -0,0 +1,75 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Shouldly; +using Xunit; +using Xunit.Abstractions; + +#nullable enable +namespace Microsoft.DotNet.Docker.Tests; + +[Trait("Category", "pre-build")] +public class TestDataTests(ITestOutputHelper outputHelper) +{ + private readonly DockerHelper _dockerHelper = new(outputHelper); + + private readonly ITestOutputHelper _outputHelper = outputHelper; + + private readonly Manifest _manifest = ManifestHelper.GetManifest(); + + public static readonly IEnumerable ImageRepos = + Enum.GetValues() + .Select(repo => new object[] { repo }) + .ToArray(); + + // Verifies that all images described in the manifest are present in the test data + [Theory] + [MemberData(nameof(ImageRepos))] + public void VerifyTestData(DotNetImageRepo imageRepo) + { + string repoName = ImageData.GetRepoName(ProductImageData.GetDotNetImageRepoName(imageRepo)); + + Repo manifestRepo = _manifest.Repos.First(r => r.Name == repoName); + + List testDataTags = + GetTestData(imageRepo) + .Select(productImageData => + productImageData + .GetImage(imageRepo, _dockerHelper, skipPull: true) + .Split(':')[1]) + .ToList(); + + // Account for SDK AOT images. They are tested based on the runtime-deps images. + if (imageRepo == DotNetImageRepo.SDK) + { + testDataTags = + [ + ..testDataTags, + ..GetTestData(DotNetImageRepo.Runtime_Deps) + .Where(productImageData => productImageData.SdkImageVariant.HasFlag(DotNetImageVariant.AOT)) + .Select(productImageData => + productImageData + .GetImage(imageRepo, _dockerHelper, skipPull: true) + .Split(':')[1]) + ]; + } + + IEnumerable> manifestTagsByPlatform = ManifestHelper.GetDockerfileTags(manifestRepo).Values; + + Action[] conditions = manifestTagsByPlatform + .Select, Action>(imageTags => () => + imageTags.ShouldContain( + tag => testDataTags.Contains(tag), + "Expected one of the following tags to be represented in test data: " + string.Join(", ", imageTags))) + .ToArray(); + + manifestTagsByPlatform.ShouldSatisfyAllConditions(conditions); + } + + private static IEnumerable GetTestData(DotNetImageRepo repo) => + TestData.AllImageData.Where(p => p.SupportedImageRepos.HasFlag(repo)); +} diff --git a/tests/accept-changes.ps1 b/tests/accept-changes.ps1 new file mode 100644 index 0000000000..2a34827f9f --- /dev/null +++ b/tests/accept-changes.ps1 @@ -0,0 +1,40 @@ +#!/usr/bin/env pwsh +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +<# +.SYNOPSIS + Accepts or discards changes in baseline files for .NET Docker tests. + +.DESCRIPTION + This script processes baseline files in the Microsoft.DotNet.Docker.Tests/Baselines directory. + If the -Discard switch is specified, it deletes all .received.txt files. + Otherwise, it renames all .received.txt files to .approved.txt. + +.PARAMETER Discard + If specified, the script will discard (delete) all .received.txt files. + If not specified, the script will rename all .received.txt files to .approved.txt. + +.EXAMPLE + .\accept-changes.ps1 + This will rename all .received.txt files to .approved.txt in the Baselines directory. + +.EXAMPLE + .\accept-changes.ps1 -Discard + This will delete all .received.txt files in the Baselines directory. +#> + +param ([switch]$Discard) + +$files = Get-ChildItem ` + -Recurse ` + -Path "$PSScriptRoot/Microsoft.DotNet.Docker.Tests/Baselines" ` + -Filter "*.received.txt" + +if ($Discard) { + $files | Remove-Item +} else { + $files | Move-Item -Force -Destination { $_.DirectoryName + "/" + ($_.Name -replace '\.received\.txt$', '.approved.txt') } +} diff --git a/tests/performance/ImageSize.nightly.windows.json b/tests/performance/ImageSize.nightly.windows.json index f985991ca2..f7e5d38211 100644 --- a/tests/performance/ImageSize.nightly.windows.json +++ b/tests/performance/ImageSize.nightly.windows.json @@ -2,31 +2,43 @@ "dotnet/nightly/runtime": { "src/runtime/8.0/nanoserver-1809/amd64": 332610335, "src/runtime/8.0/nanoserver-ltsc2022/amd64": 370748495, + "src/runtime/8.0/nanoserver-ltsc2025/amd64": 370748495, "src/runtime/8.0/windowsservercore-ltsc2019/amd64": 4564586955, "src/runtime/8.0/windowsservercore-ltsc2022/amd64": 4351045700, + "src/runtime/8.0/windowsservercore-ltsc2025/amd64": 4351045700, "src/runtime/9.0/nanoserver-1809/amd64": 332610335, "src/runtime/9.0/nanoserver-ltsc2022/amd64": 370748495, + "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-ltsc2022/amd64": 4349208890, + "src/runtime/9.0/windowsservercore-ltsc2025/amd64": 4349208890 }, "dotnet/nightly/aspnet": { "src/aspnet/8.0/nanoserver-1809/amd64": 357313558, "src/aspnet/8.0/nanoserver-ltsc2022/amd64": 395451718, + "src/aspnet/8.0/nanoserver-ltsc2025/amd64": 395451718, "src/aspnet/8.0/windowsservercore-ltsc2019/amd64": 4597349699, "src/aspnet/8.0/windowsservercore-ltsc2022/amd64": 4388208855, + "src/aspnet/8.0/windowsservercore-ltsc2025/amd64": 4388208855, "src/aspnet/9.0/nanoserver-1809/amd64": 357313558, "src/aspnet/9.0/nanoserver-ltsc2022/amd64": 395451718, + "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-ltsc2022/amd64": 4384942436, + "src/aspnet/9.0/windowsservercore-ltsc2025/amd64": 4384942436 }, "dotnet/nightly/sdk": { "src/sdk/8.0/nanoserver-1809/amd64": 1175257056, "src/sdk/8.0/nanoserver-ltsc2022/amd64": 1203940725, + "src/sdk/8.0/nanoserver-ltsc2025/amd64": 1203940725, "src/sdk/8.0/windowsservercore-ltsc2019/amd64": 5385902200, "src/sdk/8.0/windowsservercore-ltsc2022/amd64": 5226154104, + "src/sdk/8.0/windowsservercore-ltsc2025/amd64": 5226154104, "src/sdk/9.0/nanoserver-1809/amd64": 1175257056, "src/sdk/9.0/nanoserver-ltsc2022/amd64": 1203940725, + "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-ltsc2022/amd64": 5242983816, + "src/sdk/9.0/windowsservercore-ltsc2025/amd64": 5242983816 } }