Skip to content

fix(actions): retry the run-time downloads on a connection reset, not only on a timeout or a 5xx - #56

Merged
using-system merged 2 commits into
mainfrom
fix/curl-retry-all-errors
Sep 20, 2026
Merged

using-system merged 2 commits into
mainfrom
fix/curl-retry-all-errors

Conversation

@using-system

Copy link
Copy Markdown
Owner

Closes #55

What

--retry-all-errors next to --retry 3 on every run-time download: the four curl lines of the three setups' install scripts and the two of the lint job in ci.yml (actionlint's archive and checksums). Each setup's install test asserts every curl call carries both flags.

Why

Run https://github.com/using-system/oddyssey-actions/actions/runs/35471779837 failed on setup-claude's Install Claude Code in 159 ms with curl: (35) Recv failure: Connection reset by peer fetching manifest.json. --retry alone retries only what curl calls transient - a timeout, or a 408, 429, 500, 502, 503 or 504 - so a reset, a refused connection or a truncated body fails the step on the first blip. --retry-all-errors (curl >= 7.71.0; every GitHub runner's curl is 8.x) makes the three retries cover every failure.

What lands is still verified as before: the manifest checksum (setup-claude), the release's SHA256SUMS.txt (setup-copilot), the pinned SHA256_* (setup-opencode), sha256sum --check (ci.yml); with -o, curl discards a partial body before retrying. The cost: a genuine failure (a wrong pin, a 404) is retried three times before it fails, about seven seconds of backoff.

No README changes: nothing about what is downloaded, from where, with which credential (none) or how it is verified changes.

Review

Review subagent and security review both green; the one minor (the comment's HTTP-code list) fixed and re-reviewed green. actionlint, shellcheck, ruff, pytest (221 passed) green locally after the last fix.

🤖 Generated with Claude Code

using-system and others added 2 commits September 20, 2026 11:17
… only on a timeout or a 5xx

Closes #55

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@using-system
using-system merged commit 43618a1 into main Sep 20, 2026
16 checks passed
@using-system
using-system deleted the fix/curl-retry-all-errors branch September 20, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(actions): retry the run-time downloads on a connection reset, not only on a timeout or a 5xx

1 participant