ITADN

Retry prompt hangs unattended runs even when -y / assume_yes is used

#2026ClosedniStee 创建于 2026-05-16
N
niSteecommented
## Checklist * [x] I have searched the issue tracker for relevant or duplicate issues. ## Erroneous Behavior When running Topgrade with the `-y` (assume yes) flag, the expectation is that the run will be completely non-interactive and unattended. However, if a step hard-fails (e.g., Docker daemon not running, or a Windows UAC prompt times out), Topgrade halts the entire process to ask `Retry? (y)es/(N)o/(s)hell/(q)uit`. This causes unattended/scheduled scripts to hang indefinitely waiting for user input. ## Expected Behavior If `-y` is passed via the CLI (or `assume_yes = true` is in the config), Topgrade should assume it is running in a completely non-interactive environment. If a step fails, it should log the failure, suppress the retry prompt, and proceed to the next step to prevent halting automated workflows. Effectively, `-y` should imply `ask_retry = false`. ## Steps to reproduce 1. Run `topgrade -y` in an environment where a step will fail and cannot be automatically resolved (e.g., Docker daemon is stopped, triggering a container step failure). 2. Wait for the step to fail. 3. Observe that Topgrade halts and displays the interactive `Retry?` prompt, hanging the terminal indefinitely instead of skipping it. ## Possible Cause (Optional) The `-y` flag currently only passes confirmation flags to underlying package managers, but does not suppress Topgrade's own internal retry prompt upon step failure. `-y` or `assume_yes` should ideally imply `--auto-retry 0` (or `ask_retry = false`) to ensure true non-interactive execution. ## Problem persists without calling from topgrade * [ ] Yes * [x] No ## Ran through `Remote Execution` * [ ] Yes * [x] No If yes, does the issue still occur when you run topgrade directly in your remote host? * [ ] Yes * [ ] No ## Configuration file (Optional) ```toml [misc] assume_yes = true ``` ## Additional Details * Operation System/Version Windows * Installation * Topgrade version (`topgrade -V`) ## Verbose Output (`topgrade -v`) <details> <pre> </pre> </details>
关闭于 2026-05-17 4 条评论