[release/13.5] Fix DevTunnel endpoint URL publication - #19625
[release/13.5] Fix DevTunnel endpoint URL publication#19625Jose Perez Rodriguez (joperezr) merged 2 commits into
Conversation
* Fix DevTunnel endpoint allocation Limit automatic proxyless port allocation to compute resources so integration-owned endpoints can publish their own addresses. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e3b04d22-d265-49d0-861a-09aac8be80d6 * Address code review findings Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ec7aab9b-2163-45b7-89f6-c349fef7f07f --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e3b04d22-d265-49d0-861a-09aac8be80d6 Copilot-Session: ec7aab9b-2163-45b7-89f6-c349fef7f07f
The release branch preserves a trailing slash on the inspect URL, unlike main's normalized URL behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d56e681-8c44-4dab-ba09-39ae0f6eacb2
|
🚀 Dogfood this PR with:
curl -fsSL https://github.com/@raw/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19625Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19625" |
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 4 changed files. Selected test projects (48 / 100)
Selected jobs (4)
How these were chosen — grouped by what changed
🔧 show 42
🧪 📦 affected project 🧪 🧪 Job reasons
Selection computed for commit |
There was a problem hiding this comment.
Pull request overview
Backports the DevTunnel URL publication fix to release/13.5 by limiting automatic proxyless port allocation to DCP workloads.
Changes:
- Restricts proxyless allocation to compute and container resources.
- Adds regression coverage for DevTunnel URL publication and container allocation.
- Verifies
DotnetProjectResourceremains a compute resource.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/Aspire.Hosting/Dcp/DcpExecutor.cs |
Limits proxyless port allocation to DCP workloads. |
tests/Aspire.Hosting.Tests/Dcp/DcpExecutorTests.cs |
Covers workload and DevTunnel allocation behavior. |
tests/Aspire.Hosting.Dotnet.Tests/DotnetProjectResourceTests.cs |
Verifies .NET project compute classification. |
tests/Aspire.Hosting.DevTunnels.Tests/DevTunnelResourceBuilderExtensionsTests.cs |
Verifies public tunnel and inspect URLs reach resource snapshots. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
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. |
|
Failures are unrelated and have been fixed in the release branhc. |
b5f1433
into
release/13.5
|
✅ No documentation update needed. Step 5 branch taken: excluded -> base_branch_is_release, title_release_prefix, body_backport_marker This PR is a backport (of #19590 to release/13.5), confirmed by .pr-docs-check/signals.json (excluded: true). Backport PRs are out of scope for docs generation since user-facing documentation is authored against the original forward PR on the default branch; drafting a second docs PR here would be duplicate noise. Triggered signals: none (signal_count: 0, recommendation: docs_optional) - the excluded flag overrides the recommendation regardless. Exclusion reasons (from signals.json):
No documentation PR was drafted. |
Description
Backport of #19590 to
release/13.5.After upgrading to Aspire 13.5, DevTunnel port resources can reach
RunningandHealthywhile the Dashboard and MCP resource snapshots report no public URLs. This change prevents DCP from assigning temporary proxyless ports to integration-owned endpoints so DevTunnels can publish their actual public endpoints.The cherry-pick conflict was resolved by retaining the release branch's existing DevTunnel tests and adding only the source PR's DCP regression scenario. The assertion preserves the trailing slash used by the 13.5 inspect URL format.
Fixes #19496
/cc Karol Zadora-Przylecki (@karolz-ms)
Customer Impact
Aspire 13.5 customers using Dev Tunnels see healthy, running tunnel port resources with no public URLs in the Dashboard or MCP resource snapshots, forcing them to discover and open the working URLs manually.
Testing
Focused
release/13.5tests passed for proxyless allocation on compute and annotation-backed container resources,DotnetProjectResourcecompute classification, and DCP-backed DevTunnel URL publication.Risk
Low. The change is localized to proxyless DCP port allocation and preserves allocation for compute/container workloads while excluding integration-owned endpoints; focused regression coverage exercises both sides.
Regression?
Yes - regressed in 13.5 when proxyless endpoint allocation from #17924 assigned a temporary localhost port to DevTunnel port resources.
Checklist
<remarks />and<code />elements on your triple slash comments?