Skip to content

Mark ResourceUrlAnnotation.DisplayOrder as obsolete - #19090

Merged
Karol Zadora-Przylecki (karolz-ms) merged 5 commits into
mainfrom
copilot/mark-displayorder-as-obsolete
Aug 7, 2026
Merged

Mark ResourceUrlAnnotation.DisplayOrder as obsolete#19090
Karol Zadora-Przylecki (karolz-ms) merged 5 commits into
mainfrom
copilot/mark-displayorder-as-obsolete

Conversation

Copilot AI commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description

ResourceUrlAnnotation.DisplayOrder was incorrectly introduced as a field and will return as a property in a future Aspire version.

  • API guidance
    • Marks the field obsolete with migration guidance in the attribute message and XML remarks.
  • Compatibility
    • Preserves existing first-party behavior while suppressing intentional obsolete-member warnings.

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

Copilot AI and others added 4 commits August 7, 2026 01:12
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings August 7, 2026 01:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Marks ResourceUrlAnnotation.DisplayOrder obsolete while preserving first-party compatibility.

Changes:

  • Adds obsoletion guidance and scoped warning suppressions.
  • Retains existing URL display-order behavior.
  • Removes required Aspire SDK module declarations from Go AppHosts, breaking module resolution.

Reviewed changes

Copilot reviewed 59 out of 59 changed files in this pull request and generated 54 comments.

Show a summary per file
File Description
tests/PolyglotAppHosts/Aspire.Hosting/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Yarp/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Valkey/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.SqlServer/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Seq/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Redis/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.RabbitMQ/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Qdrant/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Python/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.PostgreSQL/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Orleans/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Oracle/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.OpenAI/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Nats/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.MySql/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.MongoDB/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Milvus/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Maui/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Kubernetes/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Keycloak/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Kafka/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.JavaScript/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Go/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.GitHub.Models/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Garnet/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Foundry/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Dotnet/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Docker/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.DevTunnels/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Blazor/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.WebPubSub/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Storage/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Sql/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.SignalR/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.ServiceBus/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Search/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Redis/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.PostgreSQL/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.OperationalInsights/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Network/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Kusto/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.KeyVault/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.Functions/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.EventHubs/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.CosmosDB/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.ContainerRegistry/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.CognitiveServices/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.AppService/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.ApplicationInsights/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.AppContainers/Go/go.mod Removes required SDK module.
tests/PolyglotAppHosts/Aspire.Hosting.Azure.AppConfiguration/Go/go.mod Removes required SDK module.
tests/Aspire.Hosting.Tests/WithUrlsTests.cs Suppresses warnings while testing legacy behavior.
src/Aspire.Hosting/Orchestrator/ApplicationOrchestrator.cs Preserves display-order propagation.
src/Aspire.Hosting/Dcp/ResourceSnapshotBuilder.cs Preserves DCP URL display ordering.
src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs Preserves dashboard URL ordering.
src/Aspire.Hosting/ApplicationModel/ResourceUrlAnnotation.cs Marks DisplayOrder obsolete.
src/Aspire.Cli/Templating/Templates/go-starter/go.mod Breaks generated Go starter resolution.
playground/GoAppHost/go.mod Breaks playground module resolution.

Comment thread tests/PolyglotAppHosts/Aspire.Hosting/Go/go.mod
Comment thread tests/PolyglotAppHosts/Aspire.Hosting.Yarp/Go/go.mod
Comment thread tests/PolyglotAppHosts/Aspire.Hosting.Valkey/Go/go.mod
Comment thread tests/PolyglotAppHosts/Aspire.Hosting.SqlServer/Go/go.mod
Comment thread tests/PolyglotAppHosts/Aspire.Hosting.Seq/Go/go.mod
Comment thread tests/PolyglotAppHosts/Aspire.Hosting.Azure.AppContainers/Go/go.mod
Comment thread src/Aspire.Cli/Templating/Templates/go-starter/go.mod
Comment thread playground/GoAppHost/go.mod
@JamesNK

Copy link
Copy Markdown
Member

Copilot Undo changes in 639ce05 that modify go.mod files.

Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 7, 2026 02:30

Copilot AI commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

Copilot Undo changes in 639ce05 that modify go.mod files.

Restored all 54 go.mod files from the parent of 639ce05e in 9dfe719.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19090

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19090"

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Tests selector (audit mode)

The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement.

48 / 100 test projects · 4 jobs, from 5 changed files.

Selected test projects (48 / 100)

Aspire.EndToEnd.Tests, Aspire.Hosting.Analyzers.Tests, Aspire.Hosting.Azure.Kubernetes.Tests, Aspire.Hosting.Azure.Kusto.Tests, Aspire.Hosting.Azure.Tests, Aspire.Hosting.Blazor.Tests, Aspire.Hosting.Browsers.Tests, Aspire.Hosting.CodeGeneration.Go.Tests, Aspire.Hosting.CodeGeneration.Java.Tests, Aspire.Hosting.CodeGeneration.Python.Tests, Aspire.Hosting.CodeGeneration.Rust.Tests, Aspire.Hosting.CodeGeneration.TypeScript.Tests, Aspire.Hosting.Containers.Tests, Aspire.Hosting.DevTunnels.Tests, Aspire.Hosting.Docker.Tests, Aspire.Hosting.Dotnet.Tests, Aspire.Hosting.DotnetTool.Tests, Aspire.Hosting.EntityFrameworkCore.Tests, Aspire.Hosting.Foundry.Tests, Aspire.Hosting.Garnet.Tests, Aspire.Hosting.GitHub.Models.Tests, Aspire.Hosting.Go.Tests, Aspire.Hosting.JavaScript.Tests, Aspire.Hosting.Kafka.Tests, Aspire.Hosting.Keycloak.Tests, Aspire.Hosting.Kubernetes.Tests, Aspire.Hosting.Maui.Tests, Aspire.Hosting.Milvus.Tests, Aspire.Hosting.MongoDB.Tests, Aspire.Hosting.MySql.Tests, Aspire.Hosting.Nats.Tests, Aspire.Hosting.OpenAI.Tests, Aspire.Hosting.Oracle.Tests, Aspire.Hosting.Orleans.Tests, Aspire.Hosting.PostgreSQL.Tests, Aspire.Hosting.Python.Tests, Aspire.Hosting.Qdrant.Tests, Aspire.Hosting.RabbitMQ.Tests, Aspire.Hosting.Radius.Tests, Aspire.Hosting.Redis.Tests, Aspire.Hosting.RemoteHost.Tests, Aspire.Hosting.Seq.Tests, Aspire.Hosting.SqlServer.Tests, Aspire.Hosting.Testing.Tests, Aspire.Hosting.Tests, Aspire.Hosting.Valkey.Tests, Aspire.Hosting.Yarp.Tests, Aspire.Playground.Tests

Selected jobs (4)

deployment-e2e, extension-e2e, polyglot, typescript-api-compat


How these were chosen — grouped by what changed

⚠️ 43 of the 48 selected test projects come from a single change — src/Aspire.Hosting/ApplicationModel/ResourceUrlAnnotation.cs.

🔧 src/Aspire.Hosting/ApplicationModel/ResourceUrlAnnotation.cs (changed source)
43 via the project graph

show 43

Aspire.Hosting.Analyzers.Tests (2 hops), Aspire.Hosting.Azure.Kubernetes.Tests (2 hops), Aspire.Hosting.Azure.Kusto.Tests (2 hops), Aspire.Hosting.Azure.Tests, Aspire.Hosting.Browsers.Tests (2 hops), Aspire.Hosting.CodeGeneration.Go.Tests, Aspire.Hosting.CodeGeneration.Java.Tests, Aspire.Hosting.CodeGeneration.Python.Tests, Aspire.Hosting.CodeGeneration.Rust.Tests, Aspire.Hosting.CodeGeneration.TypeScript.Tests, Aspire.Hosting.Containers.Tests (2 hops), Aspire.Hosting.DevTunnels.Tests (2 hops), Aspire.Hosting.Docker.Tests (2 hops), Aspire.Hosting.DotnetTool.Tests (2 hops), Aspire.Hosting.EntityFrameworkCore.Tests (2 hops), Aspire.Hosting.Foundry.Tests (2 hops), Aspire.Hosting.Garnet.Tests (2 hops), Aspire.Hosting.GitHub.Models.Tests (2 hops), Aspire.Hosting.Go.Tests (2 hops), Aspire.Hosting.JavaScript.Tests (2 hops), Aspire.Hosting.Kafka.Tests (2 hops), Aspire.Hosting.Keycloak.Tests (2 hops), Aspire.Hosting.Kubernetes.Tests (2 hops), Aspire.Hosting.Maui.Tests, Aspire.Hosting.Milvus.Tests (2 hops), Aspire.Hosting.MongoDB.Tests (2 hops), Aspire.Hosting.MySql.Tests (2 hops), Aspire.Hosting.Nats.Tests (2 hops), Aspire.Hosting.OpenAI.Tests (2 hops), Aspire.Hosting.Oracle.Tests (2 hops), Aspire.Hosting.Orleans.Tests (2 hops), Aspire.Hosting.PostgreSQL.Tests (2 hops), Aspire.Hosting.Python.Tests (2 hops), Aspire.Hosting.Qdrant.Tests (2 hops), Aspire.Hosting.RabbitMQ.Tests (2 hops), Aspire.Hosting.Redis.Tests (2 hops), Aspire.Hosting.RemoteHost.Tests, Aspire.Hosting.Seq.Tests (2 hops), Aspire.Hosting.SqlServer.Tests (2 hops), Aspire.Hosting.Testing.Tests (2 hops), Aspire.Hosting.Valkey.Tests (2 hops), Aspire.Hosting.Yarp.Tests (2 hops), Aspire.Playground.Tests

🧪 tests/Aspire.Hosting.Tests/WithUrlsTests.cs (changed test)
1 directly: Aspire.Hosting.Tests
3 via the project graph: Aspire.Hosting.Blazor.Tests, Aspire.Hosting.Dotnet.Tests, Aspire.Hosting.Radius.Tests

📦 affected project Aspire.Hosting
1 test: Aspire.EndToEnd.Tests

Job reasons

Job Triggered by
deployment-e2e affected project Aspire.Hosting.Azure
extension-e2e src/Aspire.Hosting/ApplicationModel/ResourceUrlAnnotation.cs, src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs, src/Aspire.Hosting/Dcp/ResourceSnapshotBuilder.cs, src/Aspire.Hosting/Orchestrator/ApplicationOrchestrator.cs
• affected project Aspire.Hosting
polyglot affected project Aspire.Hosting.Python
typescript-api-compat affected project Aspire.Hosting

Selection computed for commit 9dfe719.

@karolz-ms
Karol Zadora-Przylecki (karolz-ms) merged commit 5e7a15c into main Aug 7, 2026
342 checks passed
@karolz-ms
Karol Zadora-Przylecki (karolz-ms) deleted the copilot/mark-displayorder-as-obsolete branch August 7, 2026 17:43
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

⚠️ CI Failure Analysis: Possible Flaky Test(s)

The CI build failed due to test failure(s) that appear unrelated to the PR changes. These may be flaky tests.

Suspected flaky test(s):

  • Aspire.Cli.Tests.Projects.AppHostServerSessionTests.GetRpcClientAsync_WhenServerExitsBeforeSocketIsAvailable_FailsWithoutWaitingForConnectionTimeout in job Tests / Cli / Cli (windows-latest)
    • Error: Expected RPC connection to fail promptly after the server process exited, but it took 00:00:14.9996920.
    • Stack Trace (first frames):
      at Aspire.Cli.Tests.Projects.AppHostServerSessionTests.GetRpcClientAsync_WhenServerExitsBeforeSocketIsAvailable_FailsWithoutWaitingForConnectionTimeout() in D:\a\aspire\aspire\tests\Aspire.Cli.Tests\Projects\AppHostServerSessionTests.cs:line 153
      
    • Why likely flaky: Timing-sensitive assertion about how quickly an RPC connection fails after process exit; observed duration is right at the ~15s boundary, indicating CI runner scheduling contention rather than a defect in PR-changed code (Aspire.Cli.Tests is not in the PR's changed files).

Suggested actions:

  • Re-run the failed CI jobs to confirm if the failure is intermittent
  • If the test continues to fail, consider quarantining it using /quarantine-test <test name> <issue URL>
  • Search existing issues to see if this test is already known to be flaky

You can re-run the failed jobs from the workflow run page.

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.

4 participants