Skip to content

ci(setup-bo4e): retry the CLI download on transient network errors - #1146

Open
lord-haffi wants to merge 1 commit into
mainfrom
ci/setup-bo4e-curl-retry
Open

lord-haffi wants to merge 1 commit into
mainfrom
ci/setup-bo4e-curl-retry

Conversation

@lord-haffi

Copy link
Copy Markdown
Collaborator

Why

The Check Docs job on #1142 failed with:

curl: (35) Recv failure: Connection reset by peer

while fetching the bo4e CLI tarball in the Install bo4e CLI step. Nothing was wrong with the change under test — a re-run of the identical commit went green.

A single TCP reset against objects.githubusercontent.com is enough to fail the whole docs build, and it can hit any PR at any time, since .github/actions/setup-bo4e is used by every workflow that builds docs.

What

Adds --retry 3 --retry-delay 2 --retry-all-errors to the curl call.

--retry-all-errors is required alongside --retry: a bare --retry only covers transient HTTP responses and timeouts, not connection-level failures like the one observed.

Verification

  • check-yaml / end-of-file-fixer / trailing-whitespace pre-commit hooks pass on the changed file.
  • The exact curl invocation was run against the pinned v1.3.0 asset and downloaded it successfully (2023592 bytes).

The Check Docs job on #1142 failed with

    curl: (35) Recv failure: Connection reset by peer

while fetching the bo4e CLI tarball. Nothing was wrong with the change under
test -- a single TCP reset against objects.githubusercontent.com is enough to
fail the whole docs build, for any PR.

--retry-all-errors is needed alongside --retry because a bare --retry only
covers transient HTTP responses and timeouts, not connection-level failures
like this one.
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.

1 participant