-
Notifications
You must be signed in to change notification settings - Fork 746
Add Description property to all pipeline steps and show in diagnostics output #13310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: davidfowl <[email protected]>
| _steps.Add(new PipelineStep | ||
| { | ||
| Name = WellKnownPipelineSteps.Deploy, | ||
| Description = "Meta-step that coordinates all deploy operations. All deploy steps should be required by this step.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot Is there a better term than "Meta-step"? Can you list some options?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are some alternative terms that might be clearer than "Meta-step":
- Coordination step - Emphasizes coordinating other steps
- Orchestration step - Aligns with Aspire's orchestration theme
- Synchronization step - Highlights the synchronization aspect
- Anchor step - Describes its role as a dependency anchor point
- Milestone step - Represents completion of all related operations
- Aggregation step - Shows it aggregates related steps
My recommendation would be "Coordination step" or "Orchestration step" as they're clear and accurately describe the purpose. Which would you prefer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot what about marker/placehoder/target step?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those are simpler and clearer! I'll go with "Coordination point" which combines the coordination aspect with the "point" concept (similar to marker/target). It clearly describes that it's a point where all related operations coordinate/converge.
Will update in commit shortly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot lets use Aggregation step
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to use "Aggregation step" throughout the codebase in commit e4bfc24.
… all pipeline steps Co-authored-by: davidfowl <[email protected]>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 13310Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 13310" |
Co-authored-by: davidfowl <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds an optional Description property to the PipelineStep class to improve troubleshooting and provide better context for both users and automated tools (LLMs). The PR includes comprehensive descriptions for all pipeline steps across the codebase and updates diagnostics output to display these descriptions.
Key Changes:
- Added nullable
Descriptionproperty toPipelineStepwith appropriate XML documentation - Updated terminology from "meta-step" to "coordination point" for better clarity
- Added descriptions to 30+ pipeline steps across Azure, Docker, Kubernetes, container builds, and manifest publishing
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Hosting/Pipelines/PipelineStep.cs | Added nullable Description property with XML documentation explaining its purpose |
| src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs | Added descriptions to all well-known pipeline steps and updated diagnostics output to display descriptions |
| src/Aspire.Hosting/Pipelines/WellKnownPipelineSteps.cs | Updated XML documentation terminology from "meta-step" to "coordination point" |
| src/Aspire.Hosting/Publishing/ManifestPublishingExtensions.cs | Added description to manifest publishing step |
| src/Aspire.Hosting/ContainerResourceBuilderExtensions.cs | Added dynamic description for container build steps |
| src/Aspire.Hosting/ApplicationModel/ProjectResource.cs | Added dynamic description for project build steps |
| src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.cs | Added description for Kubernetes environment publishing step |
| src/Aspire.Hosting.Docker/DockerComposeEnvironmentResource.cs | Added descriptions for Docker Compose publish and prepare steps |
| src/Aspire.Hosting.Azure/AzureEnvironmentResource.cs | Added descriptions for Azure environment steps (publish, validate, context creation, provisioning) |
| src/Aspire.Hosting.Azure/AzureBicepResource.cs | Added description for Bicep resource provisioning step |
| src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebSiteResource.cs | Added descriptions for App Service push, summary, and deploy steps |
| src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs | Added descriptions for ACR login and dashboard URL printing steps |
| src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppResource.cs | Added descriptions for Container Apps push, summary, and deploy steps |
| src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs | Added descriptions for Container Apps ACR login and dashboard URL printing steps |
| tests/Aspire.Hosting.Tests/Pipelines/DistributedApplicationPipelineTests.cs | Added two new tests to verify description functionality and well-known step descriptions |
| var context = CreateDeployingContext(builder.Build()); | ||
|
|
||
| // Execute to trigger configuration callbacks | ||
| var _ = pipeline.ExecuteAsync(context).DefaultTimeout(); |
Copilot
AI
Dec 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test executes the pipeline asynchronously with pipeline.ExecuteAsync(context).DefaultTimeout() on line 2170, but the result is assigned to a discard variable _. This task should be awaited to ensure the pipeline completes before assertions.
Suggested change:
// Execute to trigger configuration callbacks
await pipeline.ExecuteAsync(context).DefaultTimeout();Without awaiting, the test may complete before the pipeline finishes executing, potentially causing race conditions where the assertions run before the configuration callback has been invoked.
tests/Aspire.Hosting.Tests/Pipelines/DistributedApplicationPipelineTests.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: davidfowl <[email protected]>
|
@copilot Update the snapshots: 🔴 Aspire.Hosting.Azure.Tests.AzureDeployerTests.DeployAsync_WithRedisAccessKeyAuthentication_CreatesCorrectDependencies |
Co-authored-by: davidfowl <[email protected]>
Updated the snapshots in commit 379fa8e. The diagnostics output now includes descriptions for all pipeline steps. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Description
Pipeline steps now support optional descriptions to help users and LLMs understand step purpose. Descriptions appear in diagnostics output for better troubleshooting and automated analysis. All pipeline steps across the codebase now include descriptive text.
Changes:
Descriptionproperty toPipelineStepclass (nullable string with XML docs)Example:
Diagnostics output now shows:
Files Modified (17):
Checklist
<remarks />and<code />elements on your triple slash comments?doc-ideatemplatebreaking-changetemplatediagnostictemplateOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.