Repository navigation
fix(ci): recognize GUI token acquisition failures - #15449
teamleaderleo merged 2 commits into
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe CI failure classifier now recognizes a GUI-token acquisition diagnostic as a machine failure. Tests cover classification precedence and rerun eligibility. ChangesCI failure classification
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The app-host GUI-token setup failure is now recognized for existing retry handling without changing test-failure behavior. No material PR-introduced risk remains. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change makes a GUI-token failure eligible for an existing automatic rerun path. It does not add rerun permissions or remove eligibility checks, but the decision still relies on text that a pull request can influence. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merge receipt for |
4e0f7d2 fix(bash): keep $? for PROMPT_COMMAND hooks after cmux's (manaflow-ai#15255) ae49bf5 fix(examples): show custom description in Project Worktrees sidebar (manaflow-ai#15256) a9a229d Add cross-provider token usage accounting for agent transcripts (manaflow-ai#15332) 860619f Add a .worktreeinclude reader for seeding new worktrees (manaflow-ai#15413) 3edbd83 Clear the stale Needs input badge when Claude's permission is decided in the terminal (manaflow-ai#15170) 9ed9294 CodeRouter: hold capacity errors on the same model instead of failing fast (manaflow-ai#15310) 56d4547 docs: add a front door for outside contributors (manaflow-ai#15263) 799f906 fix(ci): recognize GUI token acquisition failures (manaflow-ai#15449) f118d43 ci: age parked builds by measured reuse distance (manaflow-ai#15616) 1f6744d ci: harden overflow switch recovery (manaflow-ai#15617) 9987778 Predicted echo: remote terminals only, withdraw on pasted and sent input (manaflow-ai#15211) d9e199b Subtle selection follow-ups: group header hairline, no focus re-render for legacy rows, cmux.json test (manaflow-ai#15195) c13afe1 test: cover UTF-8 workspace create commands (manaflow-ai#15622) e76a660 fix: preserve Claude remote-control names on restore (manaflow-ai#15619) 900f248 feat: expose cmux-owned scratch metadata in session listing (manaflow-ai#15615) b5604fa ci: say why compiled-product reuse refused an artifact (manaflow-ai#15553) # Conflicts: # .github/workflows/ci-cloud-overflow-probe.yml
Summary
A runner that cannot acquire the GUI token fails before app-host tests start. CI currently classifies that hard error as unknown and suppresses otherwise eligible automatic retries; classify it as a machine failure.
Match the existing
Could not take this Mac's gui token for the app-host testserror at the start of a log line or failure annotation. Quoted diagnostics and the ambiguous(or no passwordless sudo)warning do not override real test failures; a successful app-host shard prints that warning too.Related: #15410. This covers direct GUI-token acquisition failures; the other environment faults and nested UI-dispatch attribution remain outside this patch.
Testing
python -X utf8 tests/test_ci_classify_failures.py: 3 expected failures at regression commitca7517bd48; all 33 tests pass atfca9f4842e. Covers log and annotation inputs, retry eligibility, ambiguous warnings, echoed scripts, successful-step noise and diagnostics quoted in assertion failures.python3 scripts/verify-local.py --allpasses all 15 static checks.python3 -m unittest discover -s tests -p test_ci_guard_attribution.pypasses 35 tests; the same command withtest_ci_ui_tests_dispatch.pypasses 45 tests. The 33 classifier tests also pass under Linux.machine/gui-token-unavailable.Live macOS runner recovery was not exercised.
Post-Deploy Monitoring & Validation
On the next failed GUI-token acquisition, the attribution summary should show
machine/gui-token-unavailable. Ordinary assertion failures containing the diagnostic must keep their code verdict.Changelog
none
Checklist
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes CI classifying a runner's GUI token acquisition failure as unknown, which suppressed otherwise eligible automatic retries. The failure is now classified as a machine failure and matches at the start of a log line or failure annotation.
(or no passwordless sudo)warning do not override real test failures.Written for commit fca9f48. Summary will update on new commits.
Summary by CodeRabbit