Repository navigation
Use the 17.0 dashboard image for generated deployments - #21119
Conversation
Keep the dashboard image override available but commented out for future releases. Update publisher tests and snapshots to resolve the 17.0 product-version tag. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 21119Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21119" |
Tests selectorSelects the full PR test matrix + all PR-gated jobs (ALL) — a rule matching 'eng/Versions.props' selects ALL Selection computed for commit |
There was a problem hiding this comment.
🔵 Needs a closer look
Docker Compose and Kubernetes deployment validation with the new image remains unconfirmed and needs human verification before approval.
No open issues 🎉
What changed in this PR
Updates generated Aspire deployments to use dashboard image 17.0, following the canonical repository migration in #20177.
Changes:
- Disables the
13.6override while retaining optional override support. - Updates tag-resolution tests for product version
17.0. - Changes only dashboard tags in 28 Docker, Kubernetes, and Yarp snapshots.
| File | Description |
|---|---|
| tests/Aspire.Hosting.Yarp.Tests/Snapshots/YarpConfigGeneratorTests.GenerateEnvVariablesConfigurationDockerCompose.verified.env | Expects dashboard 17.0. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_ResourceWithProbes#00.verified.yaml | Updates probes snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_HandlesSpecialResourceName#02.verified.yaml | Updates resource-name snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_HandlesConditionalReferenceExpressionWithParameterCondition#02.verified.yaml | Updates parameter-condition snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_HandlesConditionalReferenceExpression#02.verified.yaml | Updates conditional-reference snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_GeneratesValidHelmChart#02.verified.yaml | Updates Helm chart snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_CustomWorkloadAndResourceType#02.verified.yaml | Updates custom-workload snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.PublishAsync_ConditionalWithParameterBranch_UsesIfElseSyntax#02.verified.yaml | Updates conditional-branch snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.KubernetesWithProjectResources#02.verified.yaml | Updates project-resource snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesPublisherTests.KubernetesMapsPortsForBaitAndSwitchResources#02.verified.yaml | Updates port-mapping snapshot tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesEnvironmentResourceTests.MultipleKubernetesEnvironmentsSupported/env2/templates/env2-dashboard/deployment.verified.yaml | Updates second environment’s tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/Snapshots/KubernetesEnvironmentResourceTests.MultipleKubernetesEnvironmentsSupported/env1/templates/env1-dashboard/deployment.verified.yaml | Updates first environment’s tag. |
| tests/Aspire.Hosting.Kubernetes.Tests/DashboardImageTests.cs | Covers 17.0 resolution and future-major overrides. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.MultipleDockerComposeEnvironmentsSupported/env2/docker-compose.verified.yaml | Updates second environment’s tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.MultipleDockerComposeEnvironmentsSupported/env1/docker-compose.verified.yaml | Updates first environment’s tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.DockerSwarmUpdateConfigSerializedCorrectly.verified.yaml | Updates Swarm configuration snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.DockerSwarmDeploymentLabelsSerializedCorrectly.verified.yaml | Updates Swarm labels snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.DockerComposeOnlyExposesExternalEndpoints.verified.yaml | Updates external-endpoints snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposeTests.DashboardWithForwardedHeadersWritesEnvVar.verified.yaml | Updates forwarded-headers snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_WithDashboardEnabled_IncludesDashboardService.verified.yaml | Updates dashboard-enabled snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_WithDashboard_HonorsRequiredOtlpProtocols.verified.yaml | Updates telemetry-protocol snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_MultipleResourcesWithOtlp_ConfiguresAllForDashboard.verified.yaml | Updates multi-resource telemetry snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_HandlesConditionalReferenceExpressionWithParameterCondition.verified.yaml | Updates parameter-condition snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_HandlesConditionalReferenceExpression.verified.yaml | Updates conditional-reference snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PublishAsync_GeneratesValidDockerComposeFile.verified.yaml | Updates Compose generation snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.PrepareStep_ResolvesArbitraryIValueProviderSource.verified.yaml | Updates value-provider snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.DockerComposeWithProjectResources.verified.yaml | Updates project-resource snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.DockerComposeCorrectlyEmitsPortMappings.verified.yaml | Updates port-mapping snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/Snapshots/DockerComposePublisherTests.DockerComposeAppliesServiceCustomizations.verified.yaml | Updates service-customization snapshot tag. |
| tests/Aspire.Hosting.Docker.Tests/DashboardImageTests.cs | Checks canonical repository and 17.0 resolution. |
| src/Shared/DashboardImage.cs | Updates documentation example only. |
| eng/Versions.props | Comments out the active image override. |
Review effort: Balanced
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Mitch Denny (mitchdenny)
left a comment
There was a problem hiding this comment.
One non-blocking scope difference: this disables the active dashboard image pin but retains the assembly metadata and override-resolution support for future version bumps. Issue #20068 originally called for removing that plumbing too; our closed PR #21127 shows that alternative cleanup in commit 7170c852f8.
Retaining reusable override support is acceptable here and does not block approval. The generated output matches our change, and the Docker Compose and Kubernetes deployment E2E checks passed.
|
Pull request created: #1909
|
|
📝 Documentation has been drafted in microsoft/aspire.dev#1909 targeting Added a "Default container image updates" section to Note This draft PR needs human review before merging. |
Description
Docker Compose and Kubernetes publishing can now use the published Aspire 17.0 dashboard image instead of pinning generated deployments to 13.6.
AspireDashboardImageTagineng/Versions.props, with a17.0example and a note to uncomment it in future releases when the development branch precedes its dashboard image.17.0, retain informational-version parsing and assembly-version fallback coverage, and exercise the optional override with a future-major publisher.:latest; standalone documentation keeps the canonical stable repository.The image-repository migration itself was completed in #20177. This change keeps
mcr.microsoft.com/aspire/nightly/dashboard, does not change the product version, and does not switch generated deployments tolatest.Fixes #20068
User-facing usage
Generated Docker Compose and Kubernetes deployments now select:
Validation
46 targeted tests passed, zero failed or skipped: Docker 17, Kubernetes 28, and Yarp 1. All three commands built the changed source and excluded quarantined and outerloop tests. Commands were run with
MSBUILDTERMINALLOGGER=falseandDiffEngine_Disabled=true.Exact test commands and results
Image validation on October 19, 2026:
docker pull mcr.microsoft.com/aspire/nightly/dashboard:17.0— passed on linux/amd64.docker run -d --rm -p 127.0.0.1::18888 -e ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS=true -e ASPIRE_DASHBOARD_TELEMETRY_OPTOUT=true mcr.microsoft.com/aspire/nightly/dashboard:17.0— passed. The container logged dashboard version17.0.0-preview.1.26514.11; an HTTP probe following the landing-page redirect returned 200. The smoke-test container was removed afterward.git diff --check— passed.Full Docker Compose and Kubernetes deployment E2E checks were not run locally; they still need CI validation.
Checklist
<remarks />and<code />elements on your triple slash comments?