Skip to content

ci: retry the release and baseline lookups on network errors - #201

Merged
tmm merged 1 commit into
mainfrom
ci-retry-registry-lookups
Nov 14, 2026
Merged

tmm merged 1 commit into
mainfrom
ci-retry-registry-lookups

Conversation

@tmm

@tmm tmm commented Nov 14, 2026

Copy link
Copy Markdown
Member

The Rust Release "Plan release" job on 7ae9678 (#197) failed with curl exit 35, a TLS connect error, in one of its crates.io lookups (https://github.com/wevm/zero/actions/runs/43535530530/job/132263485381). The job had set its npm, mirror, and release outputs but not crates. The lookups ran curl -s, so one failed connection failed the job and printed nothing.

The registry and GitHub API lookups in rust-release.yml and swift-release.yml, and the crates.io baseline lookup in rust.yml, now run curl -sS --retry 3 --retry-all-errors:

  • Network errors and 408, 429, and 5xx responses are retried 3 times with backoff. A 404 isn't retried. Only a 404 means unpublished, so the decision whether to publish is unchanged.
  • If every attempt fails, the step still fails as before, and -S prints curl's error.
  • Checked locally with curl 8.14: a TLS failure retries and exits 35, a 503 retries and returns 503, a 404 returns 404 at once, and -w prints the status code once in every case. Both plan scripts, run against the live registries, set every output to false, as main expects with nothing to release.

CI only; no changeset.

The Rust Release plan on 7ae9678 failed when a crates.io lookup hit a
TLS connect error (curl exit 35). The lookups now retry network errors
and 408, 429, and 5xx responses three times, never a 404, and print
curl's error when they give up.

Amp-Thread-ID: https://ampcode.com/threads/T-01a1c6b9-fc99-73a1-bf70-e71fd484042c
Co-authored-by: tmm <tmm@tmm.dev>
@tmm
tmm merged commit d88d055 into main Nov 14, 2026
17 checks passed
@tmm
tmm deleted the ci-retry-registry-lookups branch November 14, 2026 01:04
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.

2 participants