Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5d1780b
[release/2026-07B] Add Alpine 3.24 images (#7266)
github-actions[bot] Jul 2, 2026
179d5f6
Switch Aspire source build repo from dotnet to microsoft org (#7230)
lbussell Jun 10, 2026
23a03d9
Reduce size of AOT SDK images by removing unnecessary packages (#7231)
lbussell Jun 11, 2026
16a3b75
[nightly] Update syft to v1.45.1 (#7219)
dotnet-docker-bot Jun 11, 2026
11d9e5e
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jun 18, 2026
481be74
Update .NET 9.0 with PowerShell v7.5.8 (#7249)
jshigetomi Jun 18, 2026
8d266c0
Update .NET 8.0 with PowerShell v7.4.17 (#7248)
jshigetomi Jun 18, 2026
2463478
Regenerate out-of-sync Dockerfiles from merge conflict. (#7254)
lbussell Jun 19, 2026
128d452
Remove DOTNET_ROLL_FORWARD environment variable from .NET 10 and 11 S…
lbussell Jun 23, 2026
ede0477
Update release config paths in update-dependencies tool (#7261)
lbussell Jun 29, 2026
4ca8dec
[nightly] Update dependencies from mingit (#7262)
dotnet-docker-bot Jun 30, 2026
e809ddf
[nightly] Update common Docker engineering infrastructure with latest…
dotnet-docker-bot Jul 8, 2026
ca3ecb3
Fix Alpine AOT generated test baselines
lbussell Jul 10, 2026
d1de2af
[release/2026-07B] Update syft to v1.46.0 (#7274)
github-actions[bot] Jul 10, 2026
b191fc2
[release/2026-07B] Update mingit to v2.55.0.windows.2 (#7275)
github-actions[bot] Jul 10, 2026
4c70a15
Merge main into release preparation branch
lbussell Jul 13, 2026
a4bea22
Update .NET 8.0 to 8.0.29 Runtime / 8.0.423 SDK
lbussell Jul 13, 2026
5d5c210
Update .NET 9.0 to 9.0.18 Runtime / 9.0.316 SDK
lbussell Jul 13, 2026
7338e9e
Update .NET 10.0 to 10.0.10 Runtime / 10.0.302 SDK
lbussell Jul 13, 2026
5836343
Update .NET 11.0 to 11.0 Preview 6
lbussell Jul 13, 2026
d65ce3c
Update dotnet-monitor to 10.0.3
lbussell Jul 13, 2026
c11288d
Add workaround for Alpine dnx script issue
lbussell Jul 13, 2026
efb320b
Update internal Alpine SDK Dockerfile baselines
lbussell Jul 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
466 changes: 233 additions & 233 deletions README.aspnet.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions README.monitor-base.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a

Tags | Dockerfile | OS Version
---- | ---------- | ----------
10.0.2-amd64, 10.0-amd64, 10.0.2, 10.0, 10, latest | [Dockerfile](src/monitor-base/10.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
10.0.3-amd64, 10.0-amd64, 10.0.3, 10.0, 10, latest | [Dockerfile](src/monitor-base/10.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
9.0.5-amd64, 9.0-amd64, 9.0.5, 9.0, 9 | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
8.1.3-ubuntu-chiseled-amd64, 8.1-ubuntu-chiseled-amd64, 8-ubuntu-chiseled-amd64, 8.1.3-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.3, 8.1, 8 | [Dockerfile](src/monitor-base/8.1/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04
8.1.3-azurelinux-distroless-amd64, 8.1-azurelinux-distroless-amd64, 8-azurelinux-distroless-amd64, 8.1.3-azurelinux-distroless, 8.1-azurelinux-distroless, 8-azurelinux-distroless | [Dockerfile](src/monitor-base/8.1/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
Expand All @@ -58,7 +58,7 @@ Tags | Dockerfile | OS Version

Tags | Dockerfile | OS Version
---- | ---------- | ----------
10.0.2-arm64v8, 10.0-arm64v8, 10.0.2, 10.0, 10, latest | [Dockerfile](src/monitor-base/10.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
10.0.3-arm64v8, 10.0-arm64v8, 10.0.3, 10.0, 10, latest | [Dockerfile](src/monitor-base/10.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
9.0.5-arm64v8, 9.0-arm64v8, 9.0.5, 9.0, 9 | [Dockerfile](src/monitor-base/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
8.1.3-ubuntu-chiseled-arm64v8, 8.1-ubuntu-chiseled-arm64v8, 8-ubuntu-chiseled-arm64v8, 8.1.3-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.3, 8.1, 8 | [Dockerfile](src/monitor-base/8.1/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04
8.1.3-azurelinux-distroless-arm64v8, 8.1-azurelinux-distroless-arm64v8, 8-azurelinux-distroless-arm64v8, 8.1.3-azurelinux-distroless, 8.1-azurelinux-distroless, 8-azurelinux-distroless | [Dockerfile](src/monitor-base/8.1/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
Expand Down
4 changes: 2 additions & 2 deletions README.monitor.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to

Tags | Dockerfile | OS Version
---- | ---------- | ----------
10.0.2, 10.0, 10, latest | [Dockerfile](src/monitor/10.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
10.0.3, 10.0, 10, latest | [Dockerfile](src/monitor/10.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
9.0.5, 9.0, 9 | [Dockerfile](src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
8.1.3-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.3, 8.1, 8 | [Dockerfile](src/monitor/8.1/ubuntu-chiseled/amd64/Dockerfile) | Ubuntu 22.04
8.1.3-azurelinux-distroless, 8.1-azurelinux-distroless, 8-azurelinux-distroless | [Dockerfile](src/monitor/8.1/azurelinux-distroless/amd64/Dockerfile) | Azure Linux 3.0
Expand All @@ -59,7 +59,7 @@ Tags | Dockerfile | OS Version

Tags | Dockerfile | OS Version
---- | ---------- | ----------
10.0.2, 10.0, 10, latest | [Dockerfile](src/monitor/10.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
10.0.3, 10.0, 10, latest | [Dockerfile](src/monitor/10.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
9.0.5, 9.0, 9 | [Dockerfile](src/monitor/9.0/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
8.1.3-ubuntu-chiseled, 8.1-ubuntu-chiseled, 8-ubuntu-chiseled, 8.1.3, 8.1, 8 | [Dockerfile](src/monitor/8.1/ubuntu-chiseled/arm64v8/Dockerfile) | Ubuntu 22.04
8.1.3-azurelinux-distroless, 8.1-azurelinux-distroless, 8-azurelinux-distroless | [Dockerfile](src/monitor/8.1/azurelinux-distroless/arm64v8/Dockerfile) | Azure Linux 3.0
Expand Down
246 changes: 123 additions & 123 deletions README.runtime-deps.md

Large diffs are not rendered by default.

282 changes: 141 additions & 141 deletions README.runtime.md

Large diffs are not rendered by default.

172 changes: 86 additions & 86 deletions README.sdk.md

Large diffs are not rendered by default.

8 changes: 2 additions & 6 deletions eng/dockerfile-templates/sdk/Dockerfile.envs
Original file line number Diff line number Diff line change
Expand Up @@ -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}}
Expand All @@ -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}}}}
9 changes: 8 additions & 1 deletion eng/dockerfile-templates/sdk/Dockerfile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
set includePowerShellVars to isPowerShellSupported || dotnetVersion = "8.0" || dotnetVersion = "9.0" ^

set dnxIsSupported to dotnetVersion != "8.0" && dotnetVersion != "9.0" ^
set useDnxScript to isAlpine && dotnetVersion = "11.0" ^

set pkgs to filter(
when(isAlpine,
Expand Down Expand Up @@ -95,7 +96,13 @@ RUN {{InsertTemplate("../Dockerfile.linux.install-pkgs",

COPY --from=installer ["/dotnet", "/usr/share/dotnet"]

{{if dnxIsSupported:RUN {{
{{if dnxIsSupported:{{if useDnxScript:# Workaround for https://github.com/dotnet/sdk/issues/55238
}}RUN {{if useDnxScript:printf '%s\n' \
'#!/bin/sh' \
'exec /usr/share/dotnet/dotnet dnx "$@@"' \
> /usr/share/dotnet/dnx \
&& chmod +x /usr/share/dotnet/dnx \
&& }}{{
InsertTemplate("../Dockerfile.linux.symlink", [
"from": "/usr/share/dotnet/dnx",
"to": "/usr/bin/dnx"
Expand Down
78 changes: 61 additions & 17 deletions eng/dockerfile-templates/sdk/Dockerfile.linux.aot
Original file line number Diff line number Diff line change
Expand Up @@ -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}}
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/pipelines/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}:
Expand Down
2 changes: 1 addition & 1 deletion eng/update-dependencies/BuildExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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}'"),
};
}
Expand Down
2 changes: 1 addition & 1 deletion eng/update-dependencies/DockerfileShaUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ public static IEnumerable<IDependencyUpdater> 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);
Expand Down
5 changes: 3 additions & 2 deletions eng/update-dependencies/PipelineArtifactProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ internal class PipelineArtifactProvider(

private static readonly IEnumerable<PipelineArtifactFile> 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"),
];

Expand Down
Loading
Loading