Add Azure portal link for Resource Group in deploy pipeline summary#14434
Draft
Add Azure portal link for Resource Group in deploy pipeline summary#14434
Conversation
Copilot
AI
changed the title
[WIP] Add link to Azure portal for Resource Group summary
Add Azure portal link for Resource Group in deploy pipeline summary
Feb 10, 2026
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 14434Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 14434" |
davidfowl
reviewed
Feb 10, 2026
|
|
||
| // Build resource group value with a portal link when possible | ||
| var resourceGroupValue = resourceGroupName; | ||
| if (resourceGroupName != "unknown" && subscriptionId != "unknown") |
Member
|
@eerhardt re-target this to 13.2? |
…#14424) * Improve detach mode: fix pipe handle inheritance and unify log naming * Show child log file path on detach success * Fix detach: redirect child output to suppress console bleed * Suppress child console output via --log-file instead of pipe redirection The previous approach (RedirectStandardOutput=true + close streams) still created inheritable pipe handles. Instead, keep Redirect=false to avoid pipe inheritance and have the child process suppress its own console output when --log-file is specified (the signal that it's a detach child). * Add DetachedProcessLauncher with native CreateProcess on Windows Replace Process.Start with platform-specific launcher that suppresses child output and prevents handle/fd inheritance to grandchildren: - Windows: P/Invoke CreateProcess with STARTUPINFOEX and PROC_THREAD_ATTRIBUTE_HANDLE_LIST (same approach as Docker/hcsshim). Child stdout/stderr go to NUL, only NUL handle is inheritable. - Linux/macOS: Process.Start with RedirectStdout=true + close streams. Pipes are O_CLOEXEC so grandchild never inherits them. Removes the Console.SetOut(TextWriter.Null) workaround from Program.cs. * Fix misleading O_CLOEXEC comments in Unix launcher dup2 onto fd 0/1/2 clears O_CLOEXEC, so grandchildren DO inherit the pipe as their stdio. With the parent's read-end closed, writes produce harmless EPIPE. Updated comments to accurately describe the Unix fd inheritance model based on dotnet/runtime pal_process.c source. * Fix command-line quoting for Windows backslash escaping * Fix detach log parsing and child log path handling
Co-authored-by: sebastienros <sebastienros@users.noreply.github.com>
* Handle polyglot settings package versions on read path * Address review feedback for polyglot settings handling * Encapsulate project-reference mode in apphost projects * Prevent directory trasversal for release builds * Fix build
* Use --exact-match in dotnet package search when stagingVersionPrefix is set dotnet package search only returns the latest version per package ID, so when the shared dotnet9 feed has both 13.2 and 13.3 prerelease packages, only 13.3 is returned. The stagingVersionPrefix filter then discards it, resulting in "no templates found". When VersionPrefix is set on a channel, pass --exact-match to get all versions from the feed, enabling the prefix filter to find the correct version line. Also update ParsePackageSearchResults to handle the "version" JSON field used by --exact-match (vs "latestVersion" in normal search). * Use pinned CLI version for staging channel in shared feed mode When the staging channel is configured with Prerelease quality and no explicit feed override, packages are now pinned to the CLI's own version instead of searching NuGet. This avoids the dotnet package search limitation where only the latest version per package ID is returned, which caused version mismatches when the shared feed contains packages from multiple version lines (e.g. 13.2.x and 13.3.x). New config flag stagingPinToCliVersion (boolean) controls this behavior. When enabled alongside overrideStagingQuality=Prerelease: - Templates (aspire new): synthetic result with CLI version - Integrations (aspire add): discovers packages then overrides version - Specific packages (aspire update): synthetic result with CLI version Also cleans up reverted exact-match parameter plumbing from interfaces and test fakes. * Mark staging override settings as internal in JSON schemas * Add E2E test for staging channel config and channel switching * Fix E2E test: use correct global settings path (~/.aspire/globalsettings.json) * Fix E2E test: config get doesn't support -g flag
Standard SKU doesn't work with private endpoints. It needs to be Premium.
When printing the Resource Group in the pipeline summary of `aspire deploy`, include a clickable link to the Azure portal resource group page. The link uses the format: https://portal.azure.com/#@{tenantId}/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/overview Changes: - AzureEnvironmentResource.AddToPipelineSummary: construct markdown link for resource group - ConsoleActivityLogger.FormatPipelineSummaryKvp: convert markdown to Spectre markup for clickable links - Add ConsoleActivityLoggerTests for the new markdown rendering behavior Co-authored-by: eerhardt <8291187+eerhardt@users.noreply.github.com>
5e2f3e9 to
efb3bbd
Compare
Contributor
🎬 CLI E2E Test RecordingsThe following terminal recordings are available for commit
📹 Recordings uploaded automatically from CI run #22006256944 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a clickable Azure portal link to the Resource Group line in the
aspire deploypipeline summary, so users can navigate directly to their resource group after deployment.The summary value uses markdown link syntax:
VNetTest5 ([link](https://portal.azure.com/#@{tenantId}/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/overview))Changes:
AzureEnvironmentResource.AddToPipelineSummary— Constructs portal URL from provisioning context (subscription ID, resource group name, tenant ID). Only generates the link when both subscription and resource group are known.ConsoleActivityLogger.FormatPipelineSummaryKvp— Now converts markdown in summary values to Spectre clickable links (color mode), strips to plain URLs (non-interactive), or renderstext (url)(no-color mode). Class madepartialfor[GeneratedRegex].ConsoleActivityLoggerTests— Tests for all three rendering paths.Checklist
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.