diff --git a/eng/docker-tools/CHANGELOG.md b/eng/docker-tools/CHANGELOG.md index 99dbceb697..0936f6feb6 100644 --- a/eng/docker-tools/CHANGELOG.md +++ b/eng/docker-tools/CHANGELOG.md @@ -4,6 +4,36 @@ All breaking changes and new features in `eng/docker-tools` will be documented i --- +## 2026-06-11: Configurable per-registry referrer-lookup rate limit + +- Issue: [#2141](https://github.com/dotnet/docker-tools/issues/2141) + +ImageBuilder now rate limits only OCI referrer lookups (the ACR +`/v2//referrers/` endpoint), instead of throttling and bounding the concurrency of all +ACR operations. All other ACR operations rely on the standard HTTP retry behavior, which retries on +HTTP 429 and respects `Retry-After` headers. This significantly speeds up image copying during +publishing. + +The referrer-lookup limit defaults to 250 requests per 60-second window and can be configured per +registry via an optional `referrerRequestsPerMinute` field on each `RegistryAuthentication` entry in +`publishConfig`: + +```yaml +RegistryAuthentication: + - server: $(acr.server) + resourceGroup: $(acr.resourceGroup) + subscription: $(acr.subscription) + referrerRequestsPerMinute: 1000 + serviceConnection: + name: $(publish.serviceConnectionName) + ... +``` + +This field is optional; when omitted, the 250/60s default is used. No action is required for +existing configurations. + +--- + ## 2026-04-02: Extra Docker build options can be passed through ImageBuilder - Pull request: [#2063](https://github.com/dotnet/docker-tools/pull/2063) diff --git a/eng/docker-tools/DEV-GUIDE.md b/eng/docker-tools/DEV-GUIDE.md index 28ddc471bc..d47fb3ebda 100644 --- a/eng/docker-tools/DEV-GUIDE.md +++ b/eng/docker-tools/DEV-GUIDE.md @@ -143,6 +143,7 @@ Build Stage ▼ Post_Build Stage ├── Merge image info files + ├── Create multi-arch manifests └── Consolidate SBOMs │ ▼ @@ -191,13 +192,35 @@ Common patterns: - `"publish"` - Publish only (when re-running a failed publish from a previous build) - `"build,test,sign,publish"` - Full pipeline -**Note:** The `Post_Build` stage is implicitly included whenever `build` is in the stages list. You don't need to specify it separately—it automatically runs after Build to merge image info files and consolidate SBOMs. +**Note:** The `Post_Build` stage is implicitly included whenever `build` is in the stages list. You don't need to specify it separately—it automatically runs after Build to merge image info files, create and validate multi-arch manifests, and consolidate SBOMs. The stages variable is useful for: - Re-running just the publish stage after fixing a transient failure - Skipping tests during initial development - Running isolated stages for debugging +### Decoupling build OS from the base image OS + +By default, a platform's `osVersion` represents the base image OS version, but also determines what +build leg an image is built in. This can cause problems when build image and base image don't match +up. For example, building a .NET app on Windows Server 2025 and copying the artifacts into a +Windows Server 2019 base image won't work, because the build matrix generation will attempt to +build the image on the Server 2019 build leg (which can't run Server 2025 images). + +To fix this, set the optional `buildOsVersion` field in order to override only the OS used in the +build matrix generation. Here is an example of building a Windows Server 2019 image using Windows +Server 2025: + +```jsonc +{ + // ... + "os": "windows", + "osVersion": "windowsservercore-ltsc2019", + "buildOsVersion": "windowsservercore-ltsc2025" + // ... +} +``` + ### Image Info Files: The Build's Memory Image info files (defined by [`ImageArtifactDetails`](https://github.com/dotnet/docker-tools/blob/main/src/ImageBuilder/Models/Image/ImageArtifactDetails.cs)) are the mechanism that tracks what was built: diff --git a/eng/docker-tools/templates/stages/build-and-test.yml b/eng/docker-tools/templates/stages/build-and-test.yml index d21e8de909..a03804aa89 100644 --- a/eng/docker-tools/templates/stages/build-and-test.yml +++ b/eng/docker-tools/templates/stages/build-and-test.yml @@ -15,6 +15,8 @@ parameters: customBuildInitSteps: [] customTestInitSteps: [] sourceBuildPipelineRunId: "" + # When true, the Post-Build stage runs even if the Build stage failed (succeededOrFailed). + runPostBuildOnFailure: false linuxAmdBuildJobTimeout: 60 linuxArmBuildJobTimeout: 60 @@ -212,7 +214,10 @@ stages: ################################################################################ - stage: Post_Build dependsOn: Build - condition: and(succeeded(), contains(variables['stages'], 'build')) + ${{ if eq(parameters.runPostBuildOnFailure, true) }}: + condition: and(succeededOrFailed(), contains(variables['stages'], 'build')) + ${{ else }}: + condition: and(succeeded(), contains(variables['stages'], 'build')) jobs: - template: /eng/docker-tools/templates/jobs/post-build.yml@self parameters: diff --git a/eng/docker-tools/templates/stages/dotnet/build-and-test.yml b/eng/docker-tools/templates/stages/dotnet/build-and-test.yml index a9e8f05fde..5b7e23379b 100644 --- a/eng/docker-tools/templates/stages/dotnet/build-and-test.yml +++ b/eng/docker-tools/templates/stages/dotnet/build-and-test.yml @@ -21,6 +21,8 @@ parameters: # Build parameters noCache: false publishConfig: null + # When true, the Post-Build stage runs even if the Build stage failed. + runPostBuildOnFailure: false buildMatrixType: platformDependencyGraph buildMatrixCustomBuildLegGroupArgs: "" linuxAmdBuildJobTimeout: 60 @@ -47,6 +49,7 @@ stages: parameters: noCache: ${{ parameters.noCache }} publishConfig: ${{ parameters.publishConfig }} + runPostBuildOnFailure: ${{ parameters.runPostBuildOnFailure }} internalProjectName: ${{ parameters.internalProjectName }} publicProjectName: ${{ parameters.publicProjectName }} storageAccountServiceConnection: ${{ parameters.storageAccountServiceConnection }} diff --git a/eng/docker-tools/templates/stages/dotnet/build-test-publish-repo.yml b/eng/docker-tools/templates/stages/dotnet/build-test-publish-repo.yml index c590a52874..2c924ef0d7 100644 --- a/eng/docker-tools/templates/stages/dotnet/build-test-publish-repo.yml +++ b/eng/docker-tools/templates/stages/dotnet/build-test-publish-repo.yml @@ -13,6 +13,8 @@ parameters: # Build parameters noCache: false publishConfig: null + # When true, the Post-Build stage runs even if the Build stage failed. + runPostBuildOnFailure: false buildMatrixType: platformDependencyGraph buildMatrixCustomBuildLegGroupArgs: "" linuxAmdBuildJobTimeout: 60 @@ -51,6 +53,7 @@ stages: # Build noCache: ${{ parameters.noCache }} publishConfig: ${{ parameters.publishConfig }} + runPostBuildOnFailure: ${{ parameters.runPostBuildOnFailure }} buildMatrixType: ${{ parameters.buildMatrixType }} buildMatrixCustomBuildLegGroupArgs: ${{ parameters.buildMatrixCustomBuildLegGroupArgs }} linuxAmdBuildJobTimeout: ${{ parameters.linuxAmdBuildJobTimeout }} diff --git a/eng/docker-tools/templates/variables/docker-images.yml b/eng/docker-tools/templates/variables/docker-images.yml index ac60867f30..4a68f55ad4 100644 --- a/eng/docker-tools/templates/variables/docker-images.yml +++ b/eng/docker-tools/templates/variables/docker-images.yml @@ -1,5 +1,5 @@ variables: - imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2996325 + imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:3002630 imageNames.imageBuilder: $(imageNames.imageBuilderName) imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId) imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux3.0-docker-testrunner diff --git a/eng/dockerfile-templates/sdk/Dockerfile.envs b/eng/dockerfile-templates/sdk/Dockerfile.envs index 5fc01988f4..bc2fafcb15 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.envs +++ b/eng/dockerfile-templates/sdk/Dockerfile.envs @@ -17,9 +17,7 @@ VARIABLES[cat("sdk|", dotnetVersion, "|build-version")])) ^ set isAlpine to find(OS_VERSION, "alpine") >= 0 ^ set isWindows to find(OS_VERSION, "nanoserver") >= 0 || find(OS_VERSION, "windowsservercore") >= 0 ^ - set lineContinuation to when(isWindows, "`", "\") ^ - - set includePowerShellRollForward to dotnetVersion != "8.0" && dotnetVersion != "9.0" + set lineContinuation to when(isWindows, "`", "\") }}ENV {{lineContinuation}} # Do not generate certificate DOTNET_GENERATE_ASPNET_CERTIFICATE=false {{lineContinuation}} @@ -34,6 +32,4 @@ # Skip extraction of XML docs - generally not useful within an image/container - helps performance NUGET_XMLDOC_MODE=skip {{if ARGS["include-powershell-vars"]:{{lineContinuation}} # PowerShell telemetry for docker image usage - POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-{{OS_ARCH_HYPHENATED}}{{if includePowerShellRollForward: {{lineContinuation}} - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major}}}} + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-{{OS_ARCH_HYPHENATED}}}} diff --git a/eng/dockerfile-templates/sdk/Dockerfile.linux.aot b/eng/dockerfile-templates/sdk/Dockerfile.linux.aot index 79bd834f06..ed0d15fd3d 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.linux.aot +++ b/eng/dockerfile-templates/sdk/Dockerfile.linux.aot @@ -7,24 +7,68 @@ set isUbuntu to find(OS_ARCH_HYPHENATED, "Ubuntu") >= 0 ^ set ubuntuVersion to when(find(OS_VERSION, "jammy") >= 0, "jammy", "noble") ^ + _ Native AOT only requires gcc. Native AOT in .NET really only needs a linker and something to drive the linker. + The runtime falls back to using gcc to drive linking when clang is not present, and both use the same bfd linker + under the hood, so dropping clang/llvm meaningfully shrinks the image. This optimization was made in .NET 11, + hence the conditional below. ^ + set useGcc to dotnetVersion != "8.0" && dotnetVersion != "9.0" && dotnetVersion != "10.0" ^ + + _ The gcc package alone isn't always sufficient to link Native AOT binaries: + - Alpine: gcc pulls in binutils, but musl-dev (crt objects/headers) must be added. + - Azure Linux 3.0: gcc pulls in neither binutils (objcopy/ld) nor glibc-devel + (crt objects and -ldl/-lrt), so both are added explicitly. + - Azure Linux 4.0 and Ubuntu: gcc transitively pulls in binutils and libc dev + packages, so gcc alone is enough. + Installing these specific packages avoids the much larger build-base / + build-essential meta-packages that bundle make, g++, autotools, etc. ^ + set pkgs to cat(sort( - when(isAlpine, - [ - "build-base", - "clang", - "zlib-dev" - ], - when(isAzureLinux, - [ - "build-essential", - "clang", - "zlib-devel" - ], - [ - "clang", - "zlib1g-dev", - "llvm" - ])))) + when( + useGcc, + when( + isAlpine, + [ + "gcc", + "musl-dev", + "zlib-dev" + ], + when( + isAzureLinux, + [ + "binutils", + "gcc", + "glibc-devel", + "zlib-devel" + ], + [ + "gcc", + "zlib1g-dev" + ] + ) + ), + when( + isAlpine, + [ + "build-base", + "clang", + "zlib-dev" + ], + when( + isAzureLinux, + [ + "build-essential", + "clang", + "zlib-devel" + ], + [ + "clang", + "zlib1g-dev", + "llvm" + ] + ) + ) + ) + )) }}ARG REPO=mcr.microsoft.com/dotnet/sdk FROM {{baseImageTag}} diff --git a/eng/pipelines/pipelines/update-dependencies.yml b/eng/pipelines/pipelines/update-dependencies.yml index 7bf3437e9d..18bc338b18 100644 --- a/eng/pipelines/pipelines/update-dependencies.yml +++ b/eng/pipelines/pipelines/update-dependencies.yml @@ -73,8 +73,8 @@ extends: dotnet run --project eng/update-dependencies/update-dependencies.csproj -- from-channel ${{ parameters.aspireChannel }} - https://github.com/dotnet/aspire - --version-source-name 'dotnet/aspire' + https://github.com/microsoft/aspire + --version-source-name 'microsoft/aspire' ${{ parameters.gitHubAuthArgs }} - ${{ each tool in parameters.tools }}: diff --git a/eng/update-dependencies/BuildExtensions.cs b/eng/update-dependencies/BuildExtensions.cs index d1a1aa9de0..ee9315d9e8 100644 --- a/eng/update-dependencies/BuildExtensions.cs +++ b/eng/update-dependencies/BuildExtensions.cs @@ -20,7 +20,7 @@ public static BuildRepo GetBuildRepo(this Build build) return repo switch { "https://github.com/dotnet/dotnet" or "https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet" => BuildRepo.Vmr, - "https://github.com/dotnet/aspire" or "https://dev.azure.com/dnceng/internal/_git/dotnet-aspire" => BuildRepo.Aspire, + "https://github.com/microsoft/aspire" or "https://dev.azure.com/dnceng/internal/_git/microsoft-aspire" => BuildRepo.Aspire, _ => throw new InvalidOperationException($"Build {build.Id} was from unsupported repository '{repo}'"), }; } diff --git a/eng/update-dependencies/DockerfileShaUpdater.cs b/eng/update-dependencies/DockerfileShaUpdater.cs index abb628e340..89ce59673a 100644 --- a/eng/update-dependencies/DockerfileShaUpdater.cs +++ b/eng/update-dependencies/DockerfileShaUpdater.cs @@ -138,7 +138,7 @@ public static IEnumerable CreateUpdaters( usedBuildInfos = [dependencyBuildInfos.First(info => info.SimpleName == _productName)]; string baseUrl = ManifestHelper.GetBaseUrls(_manifestVariables.Variables, _options).First(); - // Remove Aspire Dashboard case once https://github.com/dotnet/aspire/issues/2035 is fixed. + // Remove Aspire Dashboard case once https://github.com/microsoft/aspire/issues/2035 is fixed. string archiveExt = _os.Contains("win") || _productName.Contains("aspire-dashboard") ? "zip" : "tar.gz"; string versionDir = _buildVersion ?? ""; string versionFile = VersionHelper.ResolveProductVersion(versionDir, _options.StableBranding); diff --git a/eng/update-dependencies/PipelineArtifactProvider.cs b/eng/update-dependencies/PipelineArtifactProvider.cs index 8b7fc2a542..6ecde0ab34 100644 --- a/eng/update-dependencies/PipelineArtifactProvider.cs +++ b/eng/update-dependencies/PipelineArtifactProvider.cs @@ -43,9 +43,10 @@ internal class PipelineArtifactProvider( private static readonly IEnumerable s_releaseConfigFiles = [ - // Newest version of the staging pipeline + // Newest known location for release artifact data + new PipelineArtifactFile("manifests", "ReleaseConfig.json"), + // Older versions new PipelineArtifactFile("metadata", "ReleaseConfig.json"), - // Old version new PipelineArtifactFile("drop", "config.json"), ]; diff --git a/manifest.versions.json b/manifest.versions.json index 11c91a1691..ad6964d88a 100644 --- a/manifest.versions.json +++ b/manifest.versions.json @@ -125,8 +125,8 @@ "libssl|noble": "3t64", "libssl|resolute": "3t64", - "mingit|latest|x64|url": "https://github.com/git-for-windows/git/releases/download/v2.54.0.windows.1/MinGit-2.54.0-64-bit.zip", - "mingit|latest|x64|sha": "04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668", + "mingit|latest|x64|url": "https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip", + "mingit|latest|x64|sha": "31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf", "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)", @@ -175,19 +175,19 @@ "monitor|10.0|base-url|checksums|main": "$(base-url|public-checksums|maintenance|main)", "monitor|10.0|base-url|checksums|nightly": "$(base-url|public-checksums|maintenance|nightly)", - "powershell|8.0|build-version": "7.4.16", - "powershell|8.0|Linux.Alpine|sha": "5b9f1362121a45fc06a89a58b28b66fff85fd1c1236e9df5e20f1eb44e6a480b01769874e88156972fd6b33719fa98fb7a6dae72073e37a2f87f6da1127d3988", - "powershell|8.0|Linux|arm32|sha": "f61674177ec9ee3557db3bbce669938a8e17e830634b310f93aada0b427aa8e2882a1fb4c2e3ac6f8246371753bc08c7f450a4fa8b6fe9bc96343767cda97405", - "powershell|8.0|Linux|arm64|sha": "fe29fe9126ada7cbf0b9aa4be4e80958268b7a1a5bc6dcd0f950d003af12a2c448672cd0d6081dab7fc6bd880eb1551ae06faad15e6210363c52e8ed5fd7b67c", - "powershell|8.0|Linux|x64|sha": "446e83a1a293be84f22b9a0a9243961caae33a7032a4e00a11434cf44aa546855174b5336efee284cb8d88a416e8f59145f3cd43aff8d7bf5939e079b7e2e3a4", - "powershell|8.0|Windows|x64|sha": "5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df", + "powershell|8.0|build-version": "7.4.17", + "powershell|8.0|Linux.Alpine|sha": "2653ecb7c4423f5530f9847a47909a34692c36db9311e97d4b10f92af82d87943593762d8107cd27c4cc0cbaebb34c2919fe2e00302172f00a8cb6d5f84e8927", + "powershell|8.0|Linux|arm32|sha": "1fa6e803011747cd98feac935e694823a682d6285f9155b5cd4abc30fec0368cf35568776212d3039c36d3f43da4e866b28126766ecf28e0e6cc38b59612ea9c", + "powershell|8.0|Linux|arm64|sha": "83b7e6dcea9b235b3f2f87c98704746583a3403f7590f06f04483fd26a16b893930f35d17862ee7fdc6d189b3b069ba8b7b97d79d479124362687c0e8840da55", + "powershell|8.0|Linux|x64|sha": "e278f58ec3b86c2857dee5711d3d3d7f39b3a1ac0a732d3d0e6d9293fbfce246bbf1d24fd314a62d760a27e2664fdd3a5a44a1c61f1c1613cc8691602157b576", + "powershell|8.0|Windows|x64|sha": "b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4", - "powershell|9.0|build-version": "7.5.7", - "powershell|9.0|Linux.Alpine|sha": "c672bac9f736e794cd586195c87fcb6f26468cc49c1ec835cfcf25c79daeaef934b5d92bc0ce092cd02cc0a5b8d933e94dead0aa850a7b7f77afbec8338331fd", - "powershell|9.0|Linux|arm32|sha": "4fdfe99c4e27dffccf4550a2571fba0bdf630a92bfe39c4b2af1ed0adad5ffe19e50df3eed1ed4bb18d88e7c7e26e2d1e1f41c164049f819aa1266b9b4a72db1", - "powershell|9.0|Linux|arm64|sha": "b06e7a36b359fd10bfe86259849d5bcfebcc1d107578ac1135f899a3fe701a5e486475fce3bbe249c86def733848093662efe953e5851410a90dc90888ef5d95", - "powershell|9.0|Linux|x64|sha": "a39f82dd75d697a1b004235d3c699636dce009196cec91b7d1a5cb4be6e260e178da4a37071598cfceda0c03bf1faaf0a557b88ec801a7fdc2ea6be2b6a82b08", - "powershell|9.0|Windows|x64|sha": "e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8", + "powershell|9.0|build-version": "7.5.8", + "powershell|9.0|Linux.Alpine|sha": "b98caef3b68bb6b85c3b1cfad9d783b91d2e1b01e2e74502e2e1a6b33bbca92c0613b77aee45db95daeb7868266472cbe4bafc505904abe3852481c3b776b30f", + "powershell|9.0|Linux|arm32|sha": "e63f22b5402ddb8a480d708c7d7a0aeee5e8edc24a683e5d4fe64ed6c2aa106e9c6917185ab8a97a156598759c9028535c564fdc53967bed33d11ef4d753b712", + "powershell|9.0|Linux|arm64|sha": "5b972bda947d4762974ecdde770e4f8bb55deab6b8ae2e04d9d25e17662670432bbecceab7fcc584fa01e34dab355bbb58bc156a2cecfab9931030baa172f6bc", + "powershell|9.0|Linux|x64|sha": "2ab1face06a1da3ab3fc26ead6deb0e6b28c24438b606f10101c00099a12f5af38ffcbab00a9160669f4c9c85e5b48bf818e72ccf6a5316353562480537c87c4", + "powershell|9.0|Windows|x64|sha": "e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b", "powershell|10.0|build-version": "7.6.2", "powershell|10.0|Linux.Alpine|sha": "a6f152b23c3ab16676f173fc61d532b5853ccc92715cbcef02c2ffb92172e18d28a11b11b0bea0a939bb5d543e197cdce3c1162bc4a52ad96d91c6fe6664f830", @@ -258,7 +258,7 @@ "sdk|11.0|minor-tag": "$(dotnet|11.0|minor-tag)", "syft|repo": "anchore/syft", - "syft|version": "v1.44.0", + "syft|version": "v1.45.1", "syft|tag": "$(syft|version)-debug" } } diff --git a/src/sdk/10.0/alpine3.23/amd64/Dockerfile b/src/sdk/10.0/alpine3.23/amd64/Dockerfile index 5c5431f15c..4ebfa3e060 100644 --- a/src/sdk/10.0/alpine3.23/amd64/Dockerfile +++ b/src/sdk/10.0/alpine3.23/amd64/Dockerfile @@ -32,9 +32,7 @@ ENV \ # 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.23 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.23 RUN apk add --upgrade --no-cache \ curl \ diff --git a/src/sdk/10.0/alpine3.24/amd64/Dockerfile b/src/sdk/10.0/alpine3.24/amd64/Dockerfile index 1ad9046aee..8ea9adfb83 100644 --- a/src/sdk/10.0/alpine3.24/amd64/Dockerfile +++ b/src/sdk/10.0/alpine3.24/amd64/Dockerfile @@ -32,9 +32,7 @@ ENV \ # 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.24 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.24 RUN apk add --upgrade --no-cache \ curl \ diff --git a/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile b/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile index 7ce4dda1b3..6ff0321573 100644 --- a/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/10.0/azurelinux3.0/amd64/Dockerfile @@ -34,9 +34,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0 RUN tdnf install -y \ git \ diff --git a/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile b/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile index 656b70df6d..cd3011a3b9 100644 --- a/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/10.0/azurelinux3.0/arm64v8/Dockerfile @@ -34,9 +34,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0-arm64 RUN tdnf install -y \ git \ diff --git a/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile index 70fa7640db..3b71ae141a 100644 --- a/src/sdk/10.0/nanoserver-ltsc2022/amd64/Dockerfile +++ b/src/sdk/10.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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2022 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile index c967535304..fb52af30d7 100644 --- a/src/sdk/10.0/nanoserver-ltsc2025/amd64/Dockerfile +++ b/src/sdk/10.0/nanoserver-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2025 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/sdk/10.0/noble/amd64/Dockerfile b/src/sdk/10.0/noble/amd64/Dockerfile index 26d6e385a9..c0ca1f7041 100644 --- a/src/sdk/10.0/noble/amd64/Dockerfile +++ b/src/sdk/10.0/noble/amd64/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/noble/arm32v7/Dockerfile b/src/sdk/10.0/noble/arm32v7/Dockerfile index e24f835788..a036093f40 100644 --- a/src/sdk/10.0/noble/arm32v7/Dockerfile +++ b/src/sdk/10.0/noble/arm32v7/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/noble/arm64v8/Dockerfile b/src/sdk/10.0/noble/arm64v8/Dockerfile index c7707ac2b0..5420179b3a 100644 --- a/src/sdk/10.0/noble/arm64v8/Dockerfile +++ b/src/sdk/10.0/noble/arm64v8/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/resolute/amd64/Dockerfile b/src/sdk/10.0/resolute/amd64/Dockerfile index af96ed835d..0d0df5888c 100644 --- a/src/sdk/10.0/resolute/amd64/Dockerfile +++ b/src/sdk/10.0/resolute/amd64/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/resolute/arm32v7/Dockerfile b/src/sdk/10.0/resolute/arm32v7/Dockerfile index daa549118e..f12b4ca9ad 100644 --- a/src/sdk/10.0/resolute/arm32v7/Dockerfile +++ b/src/sdk/10.0/resolute/arm32v7/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04-arm32 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/resolute/arm64v8/Dockerfile b/src/sdk/10.0/resolute/arm64v8/Dockerfile index 162dad90c3..a7a8f480f8 100644 --- a/src/sdk/10.0/resolute/arm64v8/Dockerfile +++ b/src/sdk/10.0/resolute/arm64v8/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04-arm64 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile b/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile index d94ab4a93a..401ba6f2d1 100644 --- a/src/sdk/10.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/sdk/10.0/windowsservercore-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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2022 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" diff --git a/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile index 17f01adb84..4f497fb9be 100644 --- a/src/sdk/10.0/windowsservercore-ltsc2025/amd64/Dockerfile +++ b/src/sdk/10.0/windowsservercore-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2025 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" diff --git a/src/sdk/11.0/alpine3.24-aot/amd64/Dockerfile b/src/sdk/11.0/alpine3.24-aot/amd64/Dockerfile index 8ad7e5b53f..5778984a7e 100644 --- a/src/sdk/11.0/alpine3.24-aot/amd64/Dockerfile +++ b/src/sdk/11.0/alpine3.24-aot/amd64/Dockerfile @@ -2,6 +2,6 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:11.0.100-preview.5-alpine3.24-amd64 RUN apk add --upgrade --no-cache \ - build-base \ - clang \ + gcc \ + musl-dev \ zlib-dev diff --git a/src/sdk/11.0/alpine3.24-aot/arm64v8/Dockerfile b/src/sdk/11.0/alpine3.24-aot/arm64v8/Dockerfile index 525acf71b8..cc118dbb7b 100644 --- a/src/sdk/11.0/alpine3.24-aot/arm64v8/Dockerfile +++ b/src/sdk/11.0/alpine3.24-aot/arm64v8/Dockerfile @@ -2,6 +2,6 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:11.0.100-preview.5-alpine3.24-arm64v8 RUN apk add --upgrade --no-cache \ - build-base \ - clang \ + gcc \ + musl-dev \ zlib-dev diff --git a/src/sdk/11.0/alpine3.24/amd64/Dockerfile b/src/sdk/11.0/alpine3.24/amd64/Dockerfile index 24d97d3cba..d4162a1f6a 100644 --- a/src/sdk/11.0/alpine3.24/amd64/Dockerfile +++ b/src/sdk/11.0/alpine3.24/amd64/Dockerfile @@ -32,9 +32,7 @@ ENV \ # 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.24 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.24 RUN apk add --upgrade --no-cache \ curl \ diff --git a/src/sdk/11.0/azurelinux3.0-aot/amd64/Dockerfile b/src/sdk/11.0/azurelinux3.0-aot/amd64/Dockerfile index 39f6b2567c..4dd191eb83 100644 --- a/src/sdk/11.0/azurelinux3.0-aot/amd64/Dockerfile +++ b/src/sdk/11.0/azurelinux3.0-aot/amd64/Dockerfile @@ -2,7 +2,8 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:11.0.100-preview.5-azurelinux3.0-amd64 RUN tdnf install -y \ - build-essential \ - clang \ + binutils \ + gcc \ + glibc-devel \ zlib-devel \ && tdnf clean all diff --git a/src/sdk/11.0/azurelinux3.0-aot/arm64v8/Dockerfile b/src/sdk/11.0/azurelinux3.0-aot/arm64v8/Dockerfile index cebb3e9677..0c64264c3e 100644 --- a/src/sdk/11.0/azurelinux3.0-aot/arm64v8/Dockerfile +++ b/src/sdk/11.0/azurelinux3.0-aot/arm64v8/Dockerfile @@ -2,7 +2,8 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:11.0.100-preview.5-azurelinux3.0-arm64v8 RUN tdnf install -y \ - build-essential \ - clang \ + binutils \ + gcc \ + glibc-devel \ zlib-devel \ && tdnf clean all diff --git a/src/sdk/11.0/azurelinux3.0/amd64/Dockerfile b/src/sdk/11.0/azurelinux3.0/amd64/Dockerfile index 5e63470e4d..7b989f71f2 100644 --- a/src/sdk/11.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/11.0/azurelinux3.0/amd64/Dockerfile @@ -34,9 +34,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0 RUN tdnf install -y \ git \ diff --git a/src/sdk/11.0/azurelinux3.0/arm64v8/Dockerfile b/src/sdk/11.0/azurelinux3.0/arm64v8/Dockerfile index 6010464633..c8bcf8882e 100644 --- a/src/sdk/11.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/11.0/azurelinux3.0/arm64v8/Dockerfile @@ -34,9 +34,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0-arm64 RUN tdnf install -y \ git \ diff --git a/src/sdk/11.0/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/11.0/nanoserver-ltsc2025/amd64/Dockerfile index 0253603bc1..d86884ea78 100644 --- a/src/sdk/11.0/nanoserver-ltsc2025/amd64/Dockerfile +++ b/src/sdk/11.0/nanoserver-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2025 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/src/sdk/11.0/resolute-aot/amd64/Dockerfile b/src/sdk/11.0/resolute-aot/amd64/Dockerfile index ef7cab079a..cdaf6c1ffe 100644 --- a/src/sdk/11.0/resolute-aot/amd64/Dockerfile +++ b/src/sdk/11.0/resolute-aot/amd64/Dockerfile @@ -3,7 +3,6 @@ FROM $REPO:11.0.100-preview.5-resolute-amd64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ - clang \ - llvm \ + gcc \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/src/sdk/11.0/resolute-aot/arm64v8/Dockerfile b/src/sdk/11.0/resolute-aot/arm64v8/Dockerfile index b736ae2dca..8243e1c3a7 100644 --- a/src/sdk/11.0/resolute-aot/arm64v8/Dockerfile +++ b/src/sdk/11.0/resolute-aot/arm64v8/Dockerfile @@ -3,7 +3,6 @@ FROM $REPO:11.0.100-preview.5-resolute-arm64v8 RUN apt-get update \ && apt-get install -y --no-install-recommends \ - clang \ - llvm \ + gcc \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/src/sdk/11.0/resolute/amd64/Dockerfile b/src/sdk/11.0/resolute/amd64/Dockerfile index cc837996b6..2cbb86d358 100644 --- a/src/sdk/11.0/resolute/amd64/Dockerfile +++ b/src/sdk/11.0/resolute/amd64/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/11.0/resolute/arm32v7/Dockerfile b/src/sdk/11.0/resolute/arm32v7/Dockerfile index 47158ec239..5e4bf44f74 100644 --- a/src/sdk/11.0/resolute/arm32v7/Dockerfile +++ b/src/sdk/11.0/resolute/arm32v7/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04-arm32 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/11.0/resolute/arm64v8/Dockerfile b/src/sdk/11.0/resolute/arm64v8/Dockerfile index eb0cc0611c..c44b3b2fe5 100644 --- a/src/sdk/11.0/resolute/arm64v8/Dockerfile +++ b/src/sdk/11.0/resolute/arm64v8/Dockerfile @@ -30,9 +30,7 @@ ENV \ # 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-26.04-arm64 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/src/sdk/11.0/windowsservercore-ltsc2025/amd64/Dockerfile b/src/sdk/11.0/windowsservercore-ltsc2025/amd64/Dockerfile index 66dfde9349..f4806a4ab6 100644 --- a/src/sdk/11.0/windowsservercore-ltsc2025/amd64/Dockerfile +++ b/src/sdk/11.0/windowsservercore-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -78,9 +78,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2025 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" diff --git a/src/sdk/8.0/alpine3.23/amd64/Dockerfile b/src/sdk/8.0/alpine3.23/amd64/Dockerfile index ae7988fa43..9ece5f0a48 100644 --- a/src/sdk/8.0/alpine3.23/amd64/Dockerfile +++ b/src/sdk/8.0/alpine3.23/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && wget --output-document PowerShell.Linux.Alpine.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.Alpine.$powershell_version.nupkg \ - && powershell_sha512='5b9f1362121a45fc06a89a58b28b66fff85fd1c1236e9df5e20f1eb44e6a480b01769874e88156972fd6b33719fa98fb7a6dae72073e37a2f87f6da1127d3988' \ + && powershell_sha512='2653ecb7c4423f5530f9847a47909a34692c36db9311e97d4b10f92af82d87943593762d8107cd27c4cc0cbaebb34c2919fe2e00302172f00a8cb6d5f84e8927' \ && echo "$powershell_sha512 PowerShell.Linux.Alpine.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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.24/amd64/Dockerfile b/src/sdk/8.0/alpine3.24/amd64/Dockerfile index bd0e7e822b..5fdce300aa 100644 --- a/src/sdk/8.0/alpine3.24/amd64/Dockerfile +++ b/src/sdk/8.0/alpine3.24/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && wget --output-document PowerShell.Linux.Alpine.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.Alpine.$powershell_version.nupkg \ - && powershell_sha512='5b9f1362121a45fc06a89a58b28b66fff85fd1c1236e9df5e20f1eb44e6a480b01769874e88156972fd6b33719fa98fb7a6dae72073e37a2f87f6da1127d3988' \ + && powershell_sha512='2653ecb7c4423f5530f9847a47909a34692c36db9311e97d4b10f92af82d87943593762d8107cd27c4cc0cbaebb34c2919fe2e00302172f00a8cb6d5f84e8927' \ && echo "$powershell_sha512 PowerShell.Linux.Alpine.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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/azurelinux3.0/amd64/Dockerfile b/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile index 0aac824752..8ee4e701f1 100644 --- a/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/8.0/azurelinux3.0/amd64/Dockerfile @@ -50,9 +50,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='446e83a1a293be84f22b9a0a9243961caae33a7032a4e00a11434cf44aa546855174b5336efee284cb8d88a416e8f59145f3cd43aff8d7bf5939e079b7e2e3a4' \ + && powershell_sha512='e278f58ec3b86c2857dee5711d3d3d7f39b3a1ac0a732d3d0e6d9293fbfce246bbf1d24fd314a62d760a27e2664fdd3a5a44a1c61f1c1613cc8691602157b576' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 7cfe1112b4..1894dc493c 100644 --- a/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/8.0/azurelinux3.0/arm64v8/Dockerfile @@ -50,9 +50,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='fe29fe9126ada7cbf0b9aa4be4e80958268b7a1a5bc6dcd0f950d003af12a2c448672cd0d6081dab7fc6bd880eb1551ae06faad15e6210363c52e8ed5fd7b67c' \ + && powershell_sha512='83b7e6dcea9b235b3f2f87c98704746583a3403f7590f06f04483fd26a16b893930f35d17862ee7fdc6d189b3b069ba8b7b97d79d479124362687c0e8840da55' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 af12c437c3..60d4c7ca84 100644 --- a/src/sdk/8.0/bookworm-slim/amd64/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='446e83a1a293be84f22b9a0a9243961caae33a7032a4e00a11434cf44aa546855174b5336efee284cb8d88a416e8f59145f3cd43aff8d7bf5939e079b7e2e3a4' \ + && powershell_sha512='e278f58ec3b86c2857dee5711d3d3d7f39b3a1ac0a732d3d0e6d9293fbfce246bbf1d24fd314a62d760a27e2664fdd3a5a44a1c61f1c1613cc8691602157b576' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 f3676a968e..580b9da1de 100644 --- a/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/arm32v7/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ - && powershell_sha512='f61674177ec9ee3557db3bbce669938a8e17e830634b310f93aada0b427aa8e2882a1fb4c2e3ac6f8246371753bc08c7f450a4fa8b6fe9bc96343767cda97405' \ + && powershell_sha512='1fa6e803011747cd98feac935e694823a682d6285f9155b5cd4abc30fec0368cf35568776212d3039c36d3f43da4e866b28126766ecf28e0e6cc38b59612ea9c' \ && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 199f44cccb..96d0674840 100644 --- a/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/sdk/8.0/bookworm-slim/arm64v8/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='fe29fe9126ada7cbf0b9aa4be4e80958268b7a1a5bc6dcd0f950d003af12a2c448672cd0d6081dab7fc6bd880eb1551ae06faad15e6210363c52e8ed5fd7b67c' \ + && powershell_sha512='83b7e6dcea9b235b3f2f87c98704746583a3403f7590f06f04483fd26a16b893930f35d17862ee7fdc6d189b3b069ba8b7b97d79d479124362687c0e8840da55' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 c25875415f..7ae41967cb 100644 --- a/src/sdk/8.0/jammy/amd64/Dockerfile +++ b/src/sdk/8.0/jammy/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='446e83a1a293be84f22b9a0a9243961caae33a7032a4e00a11434cf44aa546855174b5336efee284cb8d88a416e8f59145f3cd43aff8d7bf5939e079b7e2e3a4' \ + && powershell_sha512='e278f58ec3b86c2857dee5711d3d3d7f39b3a1ac0a732d3d0e6d9293fbfce246bbf1d24fd314a62d760a27e2664fdd3a5a44a1c61f1c1613cc8691602157b576' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 75395bee7e..50b5fe182e 100644 --- a/src/sdk/8.0/jammy/arm32v7/Dockerfile +++ b/src/sdk/8.0/jammy/arm32v7/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ - && powershell_sha512='f61674177ec9ee3557db3bbce669938a8e17e830634b310f93aada0b427aa8e2882a1fb4c2e3ac6f8246371753bc08c7f450a4fa8b6fe9bc96343767cda97405' \ + && powershell_sha512='1fa6e803011747cd98feac935e694823a682d6285f9155b5cd4abc30fec0368cf35568776212d3039c36d3f43da4e866b28126766ecf28e0e6cc38b59612ea9c' \ && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 c5e412e717..f491e0bfed 100644 --- a/src/sdk/8.0/jammy/arm64v8/Dockerfile +++ b/src/sdk/8.0/jammy/arm64v8/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='fe29fe9126ada7cbf0b9aa4be4e80958268b7a1a5bc6dcd0f950d003af12a2c448672cd0d6081dab7fc6bd880eb1551ae06faad15e6210363c52e8ed5fd7b67c' \ + && powershell_sha512='83b7e6dcea9b235b3f2f87c98704746583a3403f7590f06f04483fd26a16b893930f35d17862ee7fdc6d189b3b069ba8b7b97d79d479124362687c0e8840da55' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 2ab9a04eb8..6e0a0d9ea4 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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/8.0/nanoserver-ltsc2022/amd64/Dockerfile index c7b27140b8..47faf099ab 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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile index 249a324037..d3bc86bcda 100644 --- a/src/sdk/8.0/nanoserver-ltsc2025/amd64/Dockerfile +++ b/src/sdk/8.0/nanoserver-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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/noble/amd64/Dockerfile b/src/sdk/8.0/noble/amd64/Dockerfile index 6892c19367..a87c3c10ae 100644 --- a/src/sdk/8.0/noble/amd64/Dockerfile +++ b/src/sdk/8.0/noble/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='446e83a1a293be84f22b9a0a9243961caae33a7032a4e00a11434cf44aa546855174b5336efee284cb8d88a416e8f59145f3cd43aff8d7bf5939e079b7e2e3a4' \ + && powershell_sha512='e278f58ec3b86c2857dee5711d3d3d7f39b3a1ac0a732d3d0e6d9293fbfce246bbf1d24fd314a62d760a27e2664fdd3a5a44a1c61f1c1613cc8691602157b576' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 fe2a48a10c..e95055f41b 100644 --- a/src/sdk/8.0/noble/arm64v8/Dockerfile +++ b/src/sdk/8.0/noble/arm64v8/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.4.16 \ +RUN powershell_version=7.4.17 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='fe29fe9126ada7cbf0b9aa4be4e80958268b7a1a5bc6dcd0f950d003af12a2c448672cd0d6081dab7fc6bd880eb1551ae06faad15e6210363c52e8ed5fd7b67c' \ + && powershell_sha512='83b7e6dcea9b235b3f2f87c98704746583a3403f7590f06f04483fd26a16b893930f35d17862ee7fdc6d189b3b069ba8b7b97d79d479124362687c0e8840da55' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 ad679b4748..d0fa7f14cf 100644 --- a/src/sdk/8.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/sdk/8.0/windowsservercore-ltsc2019/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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 4e41d701ba..8d51c5fdf4 100644 --- a/src/sdk/8.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/sdk/8.0/windowsservercore-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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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 index c358ba69e1..c7510fa9cc 100644 --- a/src/sdk/8.0/windowsservercore-ltsc2025/amd64/Dockerfile +++ b/src/sdk/8.0/windowsservercore-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.4.16'; ` + $powershell_version = '7.4.17'; ` 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 = '5eedf11e4a54937713067e0796de3bf165afca0ad4002578ddd92fccbec37ebd70efd23160bfe7d9b6cb9c15b7afcc3c4635955112a950fb9b70fd8c1a9eb4df'; ` + $powershell_sha512 = 'b99fbfd7370a49bee61b4635d4158917089682fa021c7e9e219d747f1a7a33e893027195947688cfbe0caaa641360ab53ec919d8a5ba152ab29d23b4ecbe7dd4'; ` 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/alpine3.23/amd64/Dockerfile b/src/sdk/9.0/alpine3.23/amd64/Dockerfile index c0339573b2..add4d9d184 100644 --- a/src/sdk/9.0/alpine3.23/amd64/Dockerfile +++ b/src/sdk/9.0/alpine3.23/amd64/Dockerfile @@ -49,9 +49,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && wget --output-document PowerShell.Linux.Alpine.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.Alpine.$powershell_version.nupkg \ - && powershell_sha512='c672bac9f736e794cd586195c87fcb6f26468cc49c1ec835cfcf25c79daeaef934b5d92bc0ce092cd02cc0a5b8d933e94dead0aa850a7b7f77afbec8338331fd' \ + && powershell_sha512='b98caef3b68bb6b85c3b1cfad9d783b91d2e1b01e2e74502e2e1a6b33bbca92c0613b77aee45db95daeb7868266472cbe4bafc505904abe3852481c3b776b30f' \ && echo "$powershell_sha512 PowerShell.Linux.Alpine.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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.24/amd64/Dockerfile b/src/sdk/9.0/alpine3.24/amd64/Dockerfile index 3c183d24f4..cf05c8cb3a 100644 --- a/src/sdk/9.0/alpine3.24/amd64/Dockerfile +++ b/src/sdk/9.0/alpine3.24/amd64/Dockerfile @@ -49,9 +49,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && wget --output-document PowerShell.Linux.Alpine.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.Alpine.$powershell_version.nupkg \ - && powershell_sha512='c672bac9f736e794cd586195c87fcb6f26468cc49c1ec835cfcf25c79daeaef934b5d92bc0ce092cd02cc0a5b8d933e94dead0aa850a7b7f77afbec8338331fd' \ + && powershell_sha512='b98caef3b68bb6b85c3b1cfad9d783b91d2e1b01e2e74502e2e1a6b33bbca92c0613b77aee45db95daeb7868266472cbe4bafc505904abe3852481c3b776b30f' \ && echo "$powershell_sha512 PowerShell.Linux.Alpine.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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/azurelinux3.0/amd64/Dockerfile b/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile index 0aee7898bb..cbd1558cbf 100644 --- a/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile +++ b/src/sdk/9.0/azurelinux3.0/amd64/Dockerfile @@ -50,9 +50,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='a39f82dd75d697a1b004235d3c699636dce009196cec91b7d1a5cb4be6e260e178da4a37071598cfceda0c03bf1faaf0a557b88ec801a7fdc2ea6be2b6a82b08' \ + && powershell_sha512='2ab1face06a1da3ab3fc26ead6deb0e6b28c24438b606f10101c00099a12f5af38ffcbab00a9160669f4c9c85e5b48bf818e72ccf6a5316353562480537c87c4' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 360fe82eed..a84764e271 100644 --- a/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile +++ b/src/sdk/9.0/azurelinux3.0/arm64v8/Dockerfile @@ -50,9 +50,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='b06e7a36b359fd10bfe86259849d5bcfebcc1d107578ac1135f899a3fe701a5e486475fce3bbe249c86def733848093662efe953e5851410a90dc90888ef5d95' \ + && powershell_sha512='5b972bda947d4762974ecdde770e4f8bb55deab6b8ae2e04d9d25e17662670432bbecceab7fcc584fa01e34dab355bbb58bc156a2cecfab9931030baa172f6bc' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 6338ae8d7b..1e7f4e0f54 100644 --- a/src/sdk/9.0/bookworm-slim/amd64/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='a39f82dd75d697a1b004235d3c699636dce009196cec91b7d1a5cb4be6e260e178da4a37071598cfceda0c03bf1faaf0a557b88ec801a7fdc2ea6be2b6a82b08' \ + && powershell_sha512='2ab1face06a1da3ab3fc26ead6deb0e6b28c24438b606f10101c00099a12f5af38ffcbab00a9160669f4c9c85e5b48bf818e72ccf6a5316353562480537c87c4' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 723e8f015a..caf7122cec 100644 --- a/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/arm32v7/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ - && powershell_sha512='4fdfe99c4e27dffccf4550a2571fba0bdf630a92bfe39c4b2af1ed0adad5ffe19e50df3eed1ed4bb18d88e7c7e26e2d1e1f41c164049f819aa1266b9b4a72db1' \ + && powershell_sha512='e63f22b5402ddb8a480d708c7d7a0aeee5e8edc24a683e5d4fe64ed6c2aa106e9c6917185ab8a97a156598759c9028535c564fdc53967bed33d11ef4d753b712' \ && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 8c16abff18..f46d4eb1ad 100644 --- a/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile +++ b/src/sdk/9.0/bookworm-slim/arm64v8/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='b06e7a36b359fd10bfe86259849d5bcfebcc1d107578ac1135f899a3fe701a5e486475fce3bbe249c86def733848093662efe953e5851410a90dc90888ef5d95' \ + && powershell_sha512='5b972bda947d4762974ecdde770e4f8bb55deab6b8ae2e04d9d25e17662670432bbecceab7fcc584fa01e34dab355bbb58bc156a2cecfab9931030baa172f6bc' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 d02eeb1138..e8220c212e 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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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/nanoserver-ltsc2022/amd64/Dockerfile b/src/sdk/9.0/nanoserver-ltsc2022/amd64/Dockerfile index c12abe6405..0c16ea29e0 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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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/nanoserver-ltsc2025/amd64/Dockerfile b/src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile index e506155787..7c26da952e 100644 --- a/src/sdk/9.0/nanoserver-ltsc2025/amd64/Dockerfile +++ b/src/sdk/9.0/nanoserver-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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/noble/amd64/Dockerfile b/src/sdk/9.0/noble/amd64/Dockerfile index 9ecde44799..64205fe0c1 100644 --- a/src/sdk/9.0/noble/amd64/Dockerfile +++ b/src/sdk/9.0/noble/amd64/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.x64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.x64.$powershell_version.nupkg \ - && powershell_sha512='a39f82dd75d697a1b004235d3c699636dce009196cec91b7d1a5cb4be6e260e178da4a37071598cfceda0c03bf1faaf0a557b88ec801a7fdc2ea6be2b6a82b08' \ + && powershell_sha512='2ab1face06a1da3ab3fc26ead6deb0e6b28c24438b606f10101c00099a12f5af38ffcbab00a9160669f4c9c85e5b48bf818e72ccf6a5316353562480537c87c4' \ && echo "$powershell_sha512 PowerShell.Linux.x64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 6707f9392e..3b5fa47ffb 100644 --- a/src/sdk/9.0/noble/arm32v7/Dockerfile +++ b/src/sdk/9.0/noble/arm32v7/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.arm32.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm32.$powershell_version.nupkg \ - && powershell_sha512='4fdfe99c4e27dffccf4550a2571fba0bdf630a92bfe39c4b2af1ed0adad5ffe19e50df3eed1ed4bb18d88e7c7e26e2d1e1f41c164049f819aa1266b9b4a72db1' \ + && powershell_sha512='e63f22b5402ddb8a480d708c7d7a0aeee5e8edc24a683e5d4fe64ed6c2aa106e9c6917185ab8a97a156598759c9028535c564fdc53967bed33d11ef4d753b712' \ && echo "$powershell_sha512 PowerShell.Linux.arm32.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 3d44f0e165..913c99c0c7 100644 --- a/src/sdk/9.0/noble/arm64v8/Dockerfile +++ b/src/sdk/9.0/noble/arm64v8/Dockerfile @@ -48,9 +48,9 @@ COPY --from=installer ["/dotnet", "/usr/share/dotnet"] RUN dotnet help # Install PowerShell global tool -RUN powershell_version=7.5.7 \ +RUN powershell_version=7.5.8 \ && curl --fail --show-error --location --output PowerShell.Linux.arm64.$powershell_version.nupkg https://powershellinfraartifacts-gkhedzdeaghdezhr.z01.azurefd.net/tool/$powershell_version/PowerShell.Linux.arm64.$powershell_version.nupkg \ - && powershell_sha512='b06e7a36b359fd10bfe86259849d5bcfebcc1d107578ac1135f899a3fe701a5e486475fce3bbe249c86def733848093662efe953e5851410a90dc90888ef5d95' \ + && powershell_sha512='5b972bda947d4762974ecdde770e4f8bb55deab6b8ae2e04d9d25e17662670432bbecceab7fcc584fa01e34dab355bbb58bc156a2cecfab9931030baa172f6bc' \ && echo "$powershell_sha512 PowerShell.Linux.arm64.$powershell_version.nupkg" | sha512sum -c - \ && mkdir --parents /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 35bb05e083..d914e94dbf 100644 --- a/src/sdk/9.0/windowsservercore-ltsc2019/amd64/Dockerfile +++ b/src/sdk/9.0/windowsservercore-ltsc2019/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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 3ff844a8b1..8f72c3756a 100644 --- a/src/sdk/9.0/windowsservercore-ltsc2022/amd64/Dockerfile +++ b/src/sdk/9.0/windowsservercore-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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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 index 526106d946..dae1665fd1 100644 --- a/src/sdk/9.0/windowsservercore-ltsc2025/amd64/Dockerfile +++ b/src/sdk/9.0/windowsservercore-ltsc2025/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.54.0.windows.1/MinGit-2.54.0-64-bit.zip; ` - $mingit_sha256 = '04f937e1f0918b17b9be6f2294cb2bb66e96e1d9832d1c298e2de088a1d0e668'; ` + Invoke-WebRequest -OutFile mingit.zip https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.1/MinGit-2.55.0-64-bit.zip; ` + $mingit_sha256 = '31497e7968196332263459ee319d2524e3ebc5786ab895e2abad34ffdd4f4ebf'; ` if ((Get-FileHash mingit.zip -Algorithm sha256).Hash -ne $mingit_sha256) { ` Write-Host 'CHECKSUM VERIFICATION FAILED!'; ` exit 1; ` @@ -54,9 +54,9 @@ RUN powershell -Command " ` $dotnet_checksums_file; ` ` # Install PowerShell global tool - $powershell_version = '7.5.7'; ` + $powershell_version = '7.5.8'; ` 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 = 'e4ecdafdfdda73c6df53a7eb8da6929a71539d2df2ac204a6e7a870b118e28609f0d6a281411b5ce46c23899c650737eaf3681087cd0751be5d658bc8cfb25e8'; ` + $powershell_sha512 = 'e4d0c535601f6ab5d671ad0a2fea967183e54794cb39027d1cf296eac8ec4c80b550e2d5d620ee00dbb29d800026ee3b103441b0018af92240902849d16f9c8b'; ` 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/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs index cbfbe333a9..611fadf650 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardImageTests.cs @@ -47,11 +47,11 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) IEnumerable expectedVariables = [ // Unset ASPNETCORE_HTTP_PORTS from base image - new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", string.Empty), - new EnvironmentVariableInfo("ASPNETCORE_URLS", $"{baseUrl}:{DashboardWebPort}"), - new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpPort}"), - new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpHttpPort}"), - new EnvironmentVariableInfo("DOTNET_DASHBOARD_MCP_ENDPOINT_URL", $"{baseUrl}:{DashboardMcpPort}"), + EnvironmentVariableInfo.Require("ASPNETCORE_HTTP_PORTS", string.Empty), + EnvironmentVariableInfo.Require("ASPNETCORE_URLS", $"{baseUrl}:{DashboardWebPort}"), + EnvironmentVariableInfo.Require("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpPort}"), + EnvironmentVariableInfo.Require("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpHttpPort}"), + EnvironmentVariableInfo.Require("DOTNET_DASHBOARD_MCP_ENDPOINT_URL", $"{baseUrl}:{DashboardMcpPort}"), ]; string imageTag = imageData.GetImage(ImageRepo, DockerHelper); diff --git a/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs index 2db43d9996..6815e2f297 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/AspnetImageTests.cs @@ -122,7 +122,7 @@ public static EnvironmentVariableInfo GetAspnetVersionVariableInfo( { string version = imageData.GetProductVersion(imageRepo, DotNetImageRepo.Aspnet, dockerHelper); - return new EnvironmentVariableInfo("ASPNET_VERSION", version) + return EnvironmentVariableInfo.Require("ASPNET_VERSION", version) with { IsProductVersion = true }; diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.23-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.23-amd64-Dockerfile.approved.txt index 9692e141a4..c252f36bfc 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.23-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.23-amd64-Dockerfile.approved.txt @@ -35,9 +35,7 @@ ENV \ # 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.23 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.23 RUN apk add --upgrade --no-cache \ curl \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.24-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.24-amd64-Dockerfile.approved.txt index bd38e7b178..e44794ef0c 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.24-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-alpine3.24-amd64-Dockerfile.approved.txt @@ -35,9 +35,7 @@ ENV \ # 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.24 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.24 RUN apk add --upgrade --no-cache \ curl \ 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 index 55a59eae7d..08bef22e3e 100644 --- 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 @@ -37,9 +37,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0 RUN tdnf install -y \ git \ 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 index 5c4467db08..0d6d259b7f 100644 --- 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 @@ -37,9 +37,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0-arm64 RUN tdnf install -y \ git \ 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 index 967d8b74f1..f4bed34674 100644 --- 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 @@ -86,9 +86,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2022 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator 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 index 2a37cc0f75..20d4b3f664 100644 --- 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 @@ -86,9 +86,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2025 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator 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 index 686c59c991..12a74353dc 100644 --- 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 @@ -33,9 +33,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ 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 index 8ac20920cb..2c56032bd4 100644 --- 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 @@ -33,9 +33,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ 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 index f0c6891f2d..cd41fb7183 100644 --- 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 @@ -33,9 +33,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-24.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-amd64-Dockerfile.approved.txt index 1b2d5118ff..c8758aa2d7 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-amd64-Dockerfile.approved.txt @@ -33,9 +33,7 @@ ENV \ # 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-26.04 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm32v7-Dockerfile.approved.txt index 03ca92c2f2..d29ad4c3e1 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm32v7-Dockerfile.approved.txt @@ -33,9 +33,7 @@ ENV \ # 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-26.04-arm32 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm64v8-Dockerfile.approved.txt index 4d2244e318..9f1124784f 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-10.0-resolute-arm64v8-Dockerfile.approved.txt @@ -33,9 +33,7 @@ ENV \ # 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-26.04-arm64 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ 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 index a53fd568aa..6e562aec62 100644 --- 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 @@ -86,9 +86,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2022 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" 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 index ed4ca594c3..14b5398307 100644 --- 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 @@ -86,9 +86,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2025 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-amd64-Dockerfile.approved.txt index 117ae7265a..f2c601707f 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-amd64-Dockerfile.approved.txt @@ -34,9 +34,7 @@ ENV \ # 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.24 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.24 RUN apk add --upgrade --no-cache \ curl \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-amd64-Dockerfile.approved.txt index 1e41f1a95a..38c0f13dfc 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-amd64-Dockerfile.approved.txt @@ -2,6 +2,6 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:0.0.0-alpine3.XX-amd64 RUN apk add --upgrade --no-cache \ - build-base \ - clang \ + gcc \ + musl-dev \ zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-arm64v8-Dockerfile.approved.txt index 08b5490921..76c6fb7d0b 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-alpine3.24-aot-arm64v8-Dockerfile.approved.txt @@ -2,6 +2,6 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:0.0.0-alpine3.XX-arm64v8 RUN apk add --upgrade --no-cache \ - build-base \ - clang \ + gcc \ + musl-dev \ zlib-dev diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-amd64-Dockerfile.approved.txt index b44d07fcc9..095836e69a 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-amd64-Dockerfile.approved.txt @@ -36,9 +36,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0 RUN tdnf install -y \ git \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt index 9f786aa5b2..a1c8544cd0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-amd64-Dockerfile.approved.txt @@ -2,7 +2,8 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:0.0.0-azurelinux3.0-amd64 RUN tdnf install -y \ - build-essential \ - clang \ + binutils \ + gcc \ + glibc-devel \ zlib-devel \ && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt index a571885bdc..04105723a9 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-aot-arm64v8-Dockerfile.approved.txt @@ -2,7 +2,8 @@ ARG REPO=mcr.microsoft.com/dotnet/sdk FROM $REPO:0.0.0-azurelinux3.0-arm64v8 RUN tdnf install -y \ - build-essential \ - clang \ + binutils \ + gcc \ + glibc-devel \ zlib-devel \ && tdnf clean all diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt index 5c53201da3..2c2126ffbc 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-azurelinux3.0-arm64v8-Dockerfile.approved.txt @@ -36,9 +36,7 @@ ENV \ # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Azure-Linux-3.0-arm64 RUN tdnf install -y \ git \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt index 126cf83a04..08a9ccd4f5 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-nanoserver-ltsc2025-amd64-Dockerfile.approved.txt @@ -85,9 +85,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-NanoServer-ltsc2025 # In order to set system PATH, ContainerAdministrator must be used USER ContainerAdministrator diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-amd64-Dockerfile.approved.txt index 900332fd8c..1d0765e6a1 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-amd64-Dockerfile.approved.txt @@ -32,9 +32,7 @@ ENV \ # 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-26.04 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-amd64-Dockerfile.approved.txt index 46cc956529..db9d3bfebf 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-amd64-Dockerfile.approved.txt @@ -3,7 +3,6 @@ FROM $REPO:0.0.0-resolute-amd64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ - clang \ - llvm \ + gcc \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-arm64v8-Dockerfile.approved.txt index 3f7a45495a..eed7e06c54 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-aot-arm64v8-Dockerfile.approved.txt @@ -3,7 +3,6 @@ FROM $REPO:0.0.0-resolute-arm64v8 RUN apt-get update \ && apt-get install -y --no-install-recommends \ - clang \ - llvm \ + gcc \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm32v7-Dockerfile.approved.txt index 3d6d6d8405..272936e5be 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm32v7-Dockerfile.approved.txt @@ -32,9 +32,7 @@ ENV \ # 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-26.04-arm32 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm32 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm64v8-Dockerfile.approved.txt index acbfd8a381..e959afe8c6 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-resolute-arm64v8-Dockerfile.approved.txt @@ -32,9 +32,7 @@ ENV \ # 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-26.04-arm64 \ - # Workaround for https://github.com/PowerShell/PowerShell/issues/20685 - DOTNET_ROLL_FORWARD=Major + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-26.04-arm64 RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt index 5aa5d6d377..2518344ba0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/sdk-11.0-windowsservercore-ltsc2025-amd64-Dockerfile.approved.txt @@ -85,9 +85,7 @@ ENV ` # 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 + POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-WindowsServerCore-ltsc2025 RUN setx /M PATH "%PATH%;C:\Program Files\powershell;C:\Program Files\MinGit\cmd" diff --git a/tests/Microsoft.DotNet.Docker.Tests/CommonRuntimeImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/CommonRuntimeImageTests.cs index 20d07f1bd7..a32d9a4b99 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/CommonRuntimeImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/CommonRuntimeImageTests.cs @@ -35,10 +35,10 @@ protected void VerifyCommonEnvironmentVariables( if (!imageData.IsWindows) { - variables.Add(new EnvironmentVariableInfo("APP_UID", imageData.NonRootUID?.ToString())); + variables.Add(EnvironmentVariableInfo.Require("APP_UID", imageData.NonRootUID?.ToString())); } - variables.Add(new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", imageData.DefaultPort.ToString())); + variables.Add(EnvironmentVariableInfo.Require("ASPNETCORE_HTTP_PORTS", imageData.DefaultPort.ToString())); if (customVariables != null) { @@ -47,7 +47,7 @@ protected void VerifyCommonEnvironmentVariables( if (imageData.GlobalizationInvariantMode) { - variables.Add(new EnvironmentVariableInfo("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "true")); + variables.Add(EnvironmentVariableInfo.Require("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "true")); } string imageTag = imageData.GetImage(ImageRepo, DockerHelper); diff --git a/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs b/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs index 3f3cb8ad8b..20fb67fe04 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/EnvironmentVariableInfo.cs @@ -16,18 +16,34 @@ public record EnvironmentVariableInfo public string Name { get; init; } public bool IsProductVersion { get; init; } = false; - public EnvironmentVariableInfo(string name, string expectedValue) - { - Name = name; - ExpectedValue = expectedValue; - } + /// + /// When true, the variable is expected to NOT be set on the image. + /// + public bool ShouldNotExist { get; init; } = false; - public EnvironmentVariableInfo(string name, bool allowAnyValue) + private EnvironmentVariableInfo(string name) { Name = name; - AllowAnyValue = allowAnyValue; } + /// + /// Requires the named environment variable to be set to . + /// + public static EnvironmentVariableInfo Require(string name, string expectedValue) => + new(name) { ExpectedValue = expectedValue }; + + /// + /// Requires the named environment variable to be set to any non-empty value. + /// + public static EnvironmentVariableInfo Require(string name) => + new(name) { AllowAnyValue = true }; + + /// + /// Requires the named environment variable to NOT be set on the image. + /// + public static EnvironmentVariableInfo Forbid(string name) => + new(name) { ShouldNotExist = true }; + public static void Validate( IEnumerable expectedVariables, string imageName, @@ -40,6 +56,14 @@ public static void Validate( { foreach (EnvironmentVariableInfo variable in expectedVariables) { + if (variable.ShouldNotExist) + { + environmentVariables.Should().NotContainKey( + variable.Name, + because: $"{imageName} should not have the environment variable '{variable.Name}' defined"); + continue; + } + string environmentVariable = environmentVariables.Should() .ContainKey( variable.Name, diff --git a/tests/Microsoft.DotNet.Docker.Tests/MonitorImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/MonitorImageTests.cs index 5b7859ee47..76110df924 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/MonitorImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/MonitorImageTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// 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. @@ -120,25 +120,25 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) List variables = [ ..GetCommonEnvironmentVariables(), - new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", string.Empty), + EnvironmentVariableInfo.Require("ASPNETCORE_HTTP_PORTS", string.Empty), // Diagnostics should be disabled - new EnvironmentVariableInfo("COMPlus_EnableDiagnostics", "0"), + EnvironmentVariableInfo.Require("COMPlus_EnableDiagnostics", "0"), // DefaultProcess filter should select a process with a process ID of 1 - new EnvironmentVariableInfo("DefaultProcess__Filters__0__Key", "ProcessId"), - new EnvironmentVariableInfo("DefaultProcess__Filters__0__Value", "1"), + EnvironmentVariableInfo.Require("DefaultProcess__Filters__0__Key", "ProcessId"), + EnvironmentVariableInfo.Require("DefaultProcess__Filters__0__Value", "1"), // Existing (orphaned) diagnostic port should be delete before starting server - new EnvironmentVariableInfo("DiagnosticPort__DeleteEndpointOnStartup", "true"), + EnvironmentVariableInfo.Require("DiagnosticPort__DeleteEndpointOnStartup", "true"), // GC mode should be set to Server - new EnvironmentVariableInfo("DOTNET_gcServer", "1"), + EnvironmentVariableInfo.Require("DOTNET_gcServer", "1"), // Console logger format should be JSON and output UTC timestamps without timezone information - new EnvironmentVariableInfo("Logging__Console__FormatterName", "json"), - new EnvironmentVariableInfo("Logging__Console__FormatterOptions__TimestampFormat", "yyyy-MM-ddTHH:mm:ss.fffffffZ"), - new EnvironmentVariableInfo("Logging__Console__FormatterOptions__UseUtcTimestamp", "true"), + EnvironmentVariableInfo.Require("Logging__Console__FormatterName", "json"), + EnvironmentVariableInfo.Require("Logging__Console__FormatterOptions__TimestampFormat", "yyyy-MM-ddTHH:mm:ss.fffffffZ"), + EnvironmentVariableInfo.Require("Logging__Console__FormatterOptions__UseUtcTimestamp", "true"), ]; EnvironmentVariableInfo.Validate( diff --git a/tests/Microsoft.DotNet.Docker.Tests/ProductImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/ProductImageTests.cs index 44a6817725..155d6575bb 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ProductImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ProductImageTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// 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. @@ -170,7 +170,7 @@ protected void VerifyNonRootUID(ProductImageData imageData) public static IEnumerable GetCommonEnvironmentVariables() { - yield return new EnvironmentVariableInfo("DOTNET_RUNNING_IN_CONTAINER", "true"); + yield return EnvironmentVariableInfo.Require("DOTNET_RUNNING_IN_CONTAINER", "true"); } /// diff --git a/tests/Microsoft.DotNet.Docker.Tests/RuntimeImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/RuntimeImageTests.cs index d370b96dd9..cbfc7a7522 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/RuntimeImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/RuntimeImageTests.cs @@ -101,7 +101,7 @@ public static EnvironmentVariableInfo GetRuntimeVersionVariableInfo( DotNetImageRepo imageRepo, ProductImageData imageData, DockerHelper dockerHelper) { string version = imageData.GetProductVersion(imageRepo, DotNetImageRepo.Runtime, dockerHelper); - return new EnvironmentVariableInfo("DOTNET_VERSION", version) + return EnvironmentVariableInfo.Require("DOTNET_VERSION", version) with { IsProductVersion = true }; diff --git a/tests/Microsoft.DotNet.Docker.Tests/SampleImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SampleImageTests.cs index d50e9b344b..00b5768662 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/SampleImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/SampleImageTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// 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. @@ -179,7 +179,7 @@ private void ValidateEnvironmentVariables(SampleImageData imageData, string imag if (imageType == SampleImageType.Aspnetapp) { - variables.Add(new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", imageData.DefaultPort.ToString())); + variables.Add(EnvironmentVariableInfo.Require("ASPNETCORE_HTTP_PORTS", imageData.DefaultPort.ToString())); } EnvironmentVariableInfo.Validate( diff --git a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs index 85dae83cbe..514f6381ef 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs @@ -109,22 +109,26 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) List variables = [ - new EnvironmentVariableInfo("DOTNET_GENERATE_ASPNET_CERTIFICATE", "false"), - new EnvironmentVariableInfo("DOTNET_USE_POLLING_FILE_WATCHER", "true"), - new EnvironmentVariableInfo("NUGET_XMLDOC_MODE", "skip"), - new EnvironmentVariableInfo("DOTNET_SDK_VERSION", version) + EnvironmentVariableInfo.Require("DOTNET_GENERATE_ASPNET_CERTIFICATE", "false"), + EnvironmentVariableInfo.Require("DOTNET_USE_POLLING_FILE_WATCHER", "true"), + EnvironmentVariableInfo.Require("NUGET_XMLDOC_MODE", "skip"), + EnvironmentVariableInfo.Require("DOTNET_SDK_VERSION", version) with { IsProductVersion = true }, AspnetImageTests.GetAspnetVersionVariableInfo(ImageRepo, imageData, DockerHelper), RuntimeImageTests.GetRuntimeVersionVariableInfo(ImageRepo, imageData, DockerHelper), - new EnvironmentVariableInfo("DOTNET_NOLOGO", "true"), + EnvironmentVariableInfo.Require("DOTNET_NOLOGO", "true"), + // DOTNET_ROLL_FORWARD must not be set globally, as it can silently change + // the runtime that unrelated workloads (e.g. dotnet test) execute on. + // See https://github.com/dotnet/dotnet-docker/issues/7255. + EnvironmentVariableInfo.Forbid("DOTNET_ROLL_FORWARD"), ..GetCommonEnvironmentVariables(), ]; if (imageData.SdkOS.Family == OSFamily.Alpine) { - variables.Add(new EnvironmentVariableInfo("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "false")); + variables.Add(EnvironmentVariableInfo.Require("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "false")); } EnvironmentVariableInfo.Validate(variables, imageName, imageData, DockerHelper); diff --git a/tests/Microsoft.DotNet.Docker.Tests/YarpImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/YarpImageTests.cs index acd3eba161..5dc0c5cdec 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/YarpImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/YarpImageTests.cs @@ -43,8 +43,8 @@ public void VerifyEnvironmentVariables(ProductImageData imageData) IEnumerable expectedVariables = [ // Unset ASPNETCORE_HTTP_PORTS from base image - new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", string.Empty), - new EnvironmentVariableInfo("ASPNETCORE_URLS", "http://+:5000"), + EnvironmentVariableInfo.Require("ASPNETCORE_HTTP_PORTS", string.Empty), + EnvironmentVariableInfo.Require("ASPNETCORE_URLS", "http://+:5000"), ]; string imageTag = imageData.GetImage(ImageRepo, DockerHelper);