Optimize nested deployment operation traversal and progress polling#7019
Conversation
584fc4e to
bbc4ee9
Compare
There was a problem hiding this comment.
Pull request overview
This PR refactors ARM deployment-operation traversal into a callback-based walker (WalkDeploymentOperations) with bounded concurrency and SkipExpand, then updates provisioning progress polling to avoid repeated full recursive traversals while keeping near-real-time updates (Issue #6915).
Changes:
- Introduces
WalkDeploymentOperations(callback walker) with concurrent nested deployment fetches andSkipExpandsupport. - Updates provisioning progress display to leverage
WalkDeploymentOperations, adds terminal-operation polling cache, and reduces spinner churn/flicker. - Extends infra tests to cover skip-expand behavior, traversal shapes, and cancellation during traversal.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| cli/azd/pkg/infra/azure_resource_manager.go | Replaces recursive “return slice” traversal with concurrent callback-based walker + SkipExpand. |
| cli/azd/pkg/infra/azure_resource_manager_test.go | Updates/expands tests for walker behavior, shapes, and cancellation. |
| cli/azd/pkg/infra/provisioning_progress_display.go | Switches progress reporting to walker; adds caching and spinner message stabilization. |
| cli/azd/pkg/infra/provisioning_progress_display_test.go | Updates mocks and adds test ensuring terminal nested ops stop expanding after 2 polls. |
| cli/azd/pkg/infra/provisioning/bicep/bicep_provider_test.go | Updates mock ResourceManager interface to implement the new walker. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bbc4ee9 to
b63358c
Compare
b63358c to
6c4110f
Compare
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
This PR refactors ARM deployment-operation traversal into a callback-based walker (
WalkDeploymentOperations) with bounded concurrency andSkipExpand, then updates provisioning progress polling to avoid repeated full recursive traversals (Issue #6915). This increases responsiveness and allows for more near real-time updates as resources are provisioned.Changes:
WalkDeploymentOperations(callback walker) with concurrent nested deployment fetches andSkipExpandsupport.WalkDeploymentOperations, adds terminal-operation polling cache, and reduces spinner churn/flicker.Addresses #6915