Use --flag=value syntax in extractGlobalArgs to prevent bool flags leaking as positional args#7212
Conversation
…s leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates workflow step execution argument handling so global flags (especially boolean flags) don’t accidentally become positional args when re-invoking Cobra commands during workflow runs.
Changes:
- Switch
extractGlobalArgs()to always emit extracted globals using--flag=valueformat. - Prevent boolean global flags (e.g.,
--debug,--no-prompt) from leaking an extratrue/falsetoken into step args (fixes #7211 scenario).
6a5db8d to
ebc290b
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
|
- Add Unreleased section to CHANGELOG covering merged PRs from 2026-03-19/20: - feat: AI-assisted error troubleshooting category selection (Azure#7216) - feat: CopilotService gRPC extension framework service (Azure#7172) - fix: lifecycle hooks silently not firing in azd up workflow (Azure#7218) - fix: azd update for Linux/macOS shell script and Homebrew (Azure#7213) - fix: azd update on Windows with backup/restore safety (Azure#7166) - fix: azd up --debug/--no-prompt positional arg error (Azure#7212) - fix: PromptSubscription not respecting AZD_DEMO_MODE (Azure#7193) - fix: preflight role check for B2B/guest users (Azure#7174) - Add AZD_DEMO_MODE note to PromptSubscription in extension-framework.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s leaking as positional args (Azure#7212) * Use `--flag=value` syntax in `extractGlobalArgs` to prevent bool flags leaking as positional args Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolves #7211
#7171 introduced
extractGlobalArgs()which formats boolean flags as two tokens (--debug,true). pflag boolean flags don't consume the next token, so cobra treats"true"as a positional<service>argument during workflow step execution (e.g.package --all).This caused commands like
azd up --debugandazd up --no-promptto fail with:Fix
Use
--flag=valuesyntax (--debug=true) for all extracted global args. This is unambiguous for all pflag types and prevents stray positional arguments.Validation