Repository navigation
ci: stop retrying a missing cmux-tui manifest - #14168
Merged
Merged
Conversation
A 404 on a cmux-tui client manifest is definitive, but the resolver's curl --retry-all-errors retries it five times, 3 s apart. Each unpublished candidate costs 15 s in the test and in every release and nightly fallback. Bound that walk, and prove a transient probe failure is still retried. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The manifest probe used curl --retry-all-errors, which cannot tell a 404 from a network failure, so every unpublished candidate slept through five 3 s retries. Probe with an explicit loop instead: a 404 or 410 (or a missing file:// path) moves on at once, while DNS, connection and 5xx failures keep the bounded retry. Statuses below 400 still count as found, as they did under curl -f. The tui-resolution guard test drops from 61 s to under 1 s locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
The curl shim now replays scripted outcomes, so the test reaches the HTTP branches a file:// store never produces: DNS, 503 and 429 are retried until the published manifest is found, and 404 and 410 skip the candidate at once. A resolver that retried 404, or gave up on a 5xx, now fails with a message instead of exiting silently under set -e. The wall-clock bound for the 404 walk is 10 s, still under the old 15 s cost. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo
enabled auto-merge (squash)
September 24, 2026 06:56
rustybret
pushed a commit
to rustybret/bmux
that referenced
this pull request
Sep 24, 2026
9567d6e refactor: give About and Licenses windows explicit ownership (manaflow-ai#13148) fae46b6 ci: stop retrying a missing cmux-tui manifest (manaflow-ai#14168) 8421357 Point PR checklist and welcome note at the hidden Review Trigger block (manaflow-ai#14167) b9415db ci: run app-host product consumers on compile admission's pool and Xcode (manaflow-ai#14163) ac0ceae fix(sidebar): order panels without reading split-container geometry (manaflow-ai#13931) 37edc16 ci: judge Web complexity's trusted files in the pull request's merge (manaflow-ai#14018) 679f4e2 ci: leave three-day-old queued ghosts to GitHub instead of retrying them (manaflow-ai#14166) 07a2e22 fix(web): enumerate complexity-gate sources with git ls-files -z (manaflow-ai#13682) c72f659 cloud: share concurrent VM stats reads (manaflow-ai#13327) aa51f16 ci: trim package setup before the macOS compile admission build (manaflow-ai#14160) 82ea1ed ci: land the fleet review fixes manaflow-ai#14159 merged without (manaflow-ai#14165) adddb59 docs: propose routing CI by capability instead of by vendor (manaflow-ai#14010) f862390 ci: fix three fleet command gaps from the manaflow-ai#14159 review (manaflow-ai#14164) 77d56b3 agent-chat: make installed harnesses first-class (manaflow-ai#13347) 7dc57f6 Clarify writing guidance for issue and PR descriptions (manaflow-ai#13275) ccf4963 ci: name the hung test when a Swift package test step stalls (manaflow-ai#14055) 9fca985 ci: guard the fleet routing switch, Xcode pin and quarantine (manaflow-ai#14159) 02972b7 fix: thin around and Developer ID sign the bundled cmux-tui SSH payloads (manaflow-ai#14154) # Conflicts: # .github/workflows/app-host-test-rerun.yml # .github/workflows/ci-guards.yml # .github/workflows/ci-macos.yml # .github/workflows/test-ios.yml # .github/workflows/web-complexity-trusted.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/ci/resolve-cmux-tui-client-commit.shprobed each candidate manifest withcurl --retry 5 --retry-delay 3 --retry-all-errors. That flag retries a genuine 404 too, so every unpublished candidate cost about 15 s before the resolver moved on. It happens in every release and nightly fallback, and in thetui-resolutionguard leg, which took 81 s on CI (60 s in this one test). macOS admission on PRs waits for that leg.The probe is now an explicit loop:
file://path (curl exit 37), moves on at once.curl -f.CMUX_TUI_CLIENT_PROBE_RETRY_SECONDSoverrides the retry delay, validated like the existing fetch settings.Testing
skipping a missing manifest took 15s; a 404 must not be retried.curlshim on PATH that fails twice with exit 6 (DNS) and then runs the real curl, which proves transient failures are still retried and then resolve.bash tests/test_ci_resolve_cmux_tui_client_commit.sh: 60.8 s before, 0.9 s after, locally on Linux. shellcheck is clean on both files.files.cmux.com(--max-fallback 3from a shallow worktree) resolved the published commit37e93ff, so the HTTPS found path works.Checklist
— Copypasta g1 🫧
Run: run_linux_guards_speed_20260924_be91c283
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
The cmux-tui manifest resolver no longer retries missing manifests, cutting the tui-resolution guard leg from ~61 s to under 1 s on CI.
file://path (curlexit 37) moves on to the next candidate immediately; DNS, connection, 5xx, and 429 failures keep the bounded retry (6 attempts, 3 s apart), so a network blip on a release runner does not read as a missing manifest.curl -fbehavior.CMUX_TUI_CLIENT_PROBE_RETRY_SECONDSto override the retry delay, validated like the existing fetch settings.Written for commit 0d15abc. Summary will update on new commits.
Summary by CodeRabbit