Skip to content

Align container benchmarks with .NET 11 and .NET 10 runtimes - #2221

Merged
LoopedBard3 merged 2 commits into
aspnet:mainfrom
LoopedBard3:loopedbard3-container-runtime-mismatch
Nov 2, 2026
Merged

LoopedBard3 merged 2 commits into
aspnet:mainfrom
LoopedBard3:loopedbard3-container-runtime-mismatch

Conversation

@LoopedBard3

Copy link
Copy Markdown
Contributor

Summary

  • Update standard, Alpine, and Alpine composite container benchmarks to publish net11.0 using .NET 11 nightly SDK/runtime images.
  • Pin development image tags to 11.0 instead of latest to prevent future major-version mismatches.
  • Update Middleware-current.dockerfile to .NET 10 SDK/runtime images and net10.0.
  • Align current-baseline pipeline display names and recorded scenario identifiers with .NET 10.

Motivation

The standard container publishes a .NET 10 application, but the floating nightly runtime image now contains only .NET 11. The application exits before startup because major-version roll-forward is not enabled. The same mismatch repeats across JSON, Fortunes, and DATAS matrix entries.

Observed in benchmarks-ci-azure run 20261021.1.

Validation

  • Checked SDK/runtime image majors against both publish framework settings in all four Dockerfiles.
  • Queried MCR manifests for all referenced tags and confirmed Linux ARM64 and AMD64 support.
  • git diff --check passed.
  • Container builds and runtime smoke tests could not run because the local Docker Linux daemon is unavailable.

Based on current upstream main (9dd895b5).

Pin development container SDK and runtime tags to .NET 11 and publish net11.0. Update the current baseline images, target framework, and scenario labels to .NET 10.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3f10506d-f9a1-4447-a4fd-c7ea708a4fed
@LoopedBard3
LoopedBard3 requested a balanced review from Copilot October 21, 2026 21:44
@LoopedBard3 LoopedBard3 self-assigned this Oct 21, 2026
@LoopedBard3

Copy link
Copy Markdown
Contributor Author

Planning on updating these to 12 once available.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Static alignment is consistent, but container builds and startup smoke tests remain unverified and require validation before approval.

No open issues 🎉

What changed in this PR

Aligns container benchmark publish targets with their SDK and runtime images to prevent startup failures caused by major-version mismatches.

Changes:

  • Moves standard, Alpine, and Alpine composite benchmarks to net11.0 with explicit .NET 11 nightly image tags.
  • Updates the current baseline to .NET 10 SDK/runtime images and net10.0.
  • Renames baseline pipeline labels and recorded scenario identifiers to reflect .NET 10.
File Description
docker/​container-matrix/​Middleware.dockerfile Aligns the standard benchmark with .NET 11.
docker/​container-matrix/​Middleware-current.dockerfile Advances the current baseline to .NET 10.
docker/​container-matrix/​Middleware-composite.dockerfile Aligns the composite benchmark with .NET 11.
docker/​container-matrix/​Middleware-alpine.dockerfile Aligns the Alpine benchmark with .NET 11.
build/​containers-scenarios.yml Updates baseline labels and scenario identifiers to .NET 10.

Review effort: Balanced

@@ -1,11 +1,10 @@
FROM mcr.microsoft.com/dotnet/nightly/sdk:latest AS build

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to keep running alpine?

@LoopedBard3
LoopedBard3 merged commit fda79c9 into aspnet:main Nov 2, 2026
2 checks passed
@LoopedBard3
LoopedBard3 deleted the loopedbard3-container-runtime-mismatch branch November 2, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants