feat(ui): add CI-friendly plain text output mode#172
Conversation
Disable spinner animations when stdout is not a TTY (auto-detected) or when the --no-spinner persistent flag is passed. In CI mode, WaitMessage and TimedSpinner fall back to plain text with bullet/checkmark/cross prefixes instead of animated spinners that produce garbled output in non-interactive environments. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @pbrissaud's task in 1m 25s —— View job PR Review: feat(ui): add CI-friendly plain text output mode
Good implementation overall — the approach is clean and minimal. The TTY detection is standard and correct, and the Issues1. CI failure message in
if err != nil {
fmt.Printf("✗ %s\n", message) // error detail is lost
return err
}The error is returned to the caller, but in CI the only visible output is fmt.Printf("✗ %s: %v\n", message, err)2. Neither Nits3. CI output writes failures to stdout instead of stderr fmt.Printf("✗ %s (failed after %s)\n", message, elapsed)Failure indicators ( 4. Current: Positive notes
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
- Print error detail on failure: "✗ <step>: <err>" instead of swallowing context - Write failure lines to stderr so they're visible regardless of stdout redirection - Add comments on Spinner() and MultiSpinner warning they don't respect ciMode - Clarify --no-spinner flag description to mention TTY auto-detection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @pbrissaud's task in 40s —— View job Re-review: All previous feedback addressed ✓
The updated commit ( 1. Error context included in CI failure output ✓ 2. 3. Failure output goes to stderr ✓ 4. The implementation is clean and minimal. No further issues found. Ready to merge. |
Summary
--no-spinnerpour forcer le mode texte brutWaitMessageetTimedSpinneraffichent du texte simple (•,✓,✗) au lieu des animations qui produisaient des centaines de lignes en environnement non-interactifBefore / After
Before (CI output) :
After (CI output) :
Test plan
kubeasy setup 2>&1 | cat(pipe = pas de TTY)kubeasy --no-spinner setup🤖 Generated with Claude Code