-
Notifications
You must be signed in to change notification settings - Fork 744
Add WellKnownPipelineTags to action-performing pipeline steps and rename GetSteps to GetStepsByTag #12960
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
base: main
Are you sure you want to change the base?
Conversation
Add appropriate WellKnownPipelineTag tags to all default steps registered in DistributedApplicationPipeline: - Deploy step: DeployCompute tag - DeployPrereq step: ProvisionInfrastructure tag - Build step: BuildCompute tag - BuildPrereq step: BuildCompute tag - Publish step: PushContainerImage tag - PublishPrereq step: PushContainerImage tag - Diagnostics step: No tag (diagnostic step) Also added test to verify tags are correctly assigned to default steps. Co-authored-by: captainsafia <[email protected]>
|
@copilot Lets rename this to GetStepsByTag since it's a string overload. |
Renamed the method to be more explicit that it's querying by tag rather than by resource. This makes the API clearer when multiple overloads exist. Updated all usages in tests to use the new method name. Co-authored-by: davidfowl <[email protected]>
captainsafia
left a comment
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 Tweak these tags.
| { | ||
| Name = WellKnownPipelineSteps.Deploy, | ||
| Action = _ => Task.CompletedTask, | ||
| Tags = [WellKnownPipelineTags.DeployCompute] |
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.
| Tags = [WellKnownPipelineTags.DeployCompute] |
| Name = WellKnownPipelineSteps.Publish, | ||
| Action = _ => Task.CompletedTask | ||
| Action = _ => Task.CompletedTask, | ||
| Tags = [WellKnownPipelineTags.PushContainerImage] |
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.
| Tags = [WellKnownPipelineTags.PushContainerImage] |
| { | ||
| Name = WellKnownPipelineSteps.PublishPrereq, | ||
| Action = _ => Task.CompletedTask, | ||
| Tags = [WellKnownPipelineTags.PushContainerImage] |
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.
| Tags = [WellKnownPipelineTags.PushContainerImage] |
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.
Removed in d595317. PublishPrereq doesn't push containers, so it shouldn't have the PushContainerImage tag.
Removed tags from Deploy, Publish, and PublishPrereq steps as these are meta/coordination steps that don't actually perform the tagged actions themselves. They coordinate when other steps run. Steps that actually perform actions (like DeployPrereq for provisioning, Build/BuildPrereq for building) still retain their tags. Updated test expectations to verify these meta steps have no tags. Co-authored-by: captainsafia <[email protected]>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 12960Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 12960" |
1 similar comment
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 12960Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 12960" |
Description
Default pipeline steps in
DistributedApplicationPipelinewere not tagged, preventing them from being queried by tag in pipeline configuration callbacks. This made it difficult to create dependencies on groups of default steps (e.g., "run after all build steps complete").Changes:
DeployPrereqwithProvisionInfrastructure(performs infrastructure provisioning)BuildandBuildPrereqwithBuildCompute(perform build operations)Deploy,Publish, andPublishPrerequntagged (meta/coordination steps that don't perform actions themselves)Diagnosticsstep untagged (debugging/troubleshooting step, not part of deployment workflow)GetSteps(string tag)toGetStepsByTag(string tag)for clarity when multiple overloads existRationale:
Tags are only applied to steps that actually perform the tagged actions. Meta/coordination steps (Deploy, Publish, PublishPrereq) don't have tags because they don't perform these actions themselves - they just coordinate when other steps run. This aligns with how tags are used throughout the codebase.
Usage:
Aligns default steps with tagging pattern already used by resource-specific steps (e.g.,
ProjectResource,AzureBicepResource).Checklist
<remarks />and<code />elements on your triple slash comments?doc-ideatemplatebreaking-changetemplatediagnostictemplateOriginal prompt
💡 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.