From a9e411bdafe7d915df7905e91cedb14da6bc8e8a Mon Sep 17 00:00:00 2001 From: Revar Desmera Date: Thu, 27 Aug 2026 19:57:28 -0700 Subject: [PATCH] wheels: drop --retry-all-errors, too new for AlmaLinux 8's curl My own mirror fix broke the Linux wheels a different way: curl: option --retry-all-errors: is unknown --retry-all-errors landed in curl 7.71.0; manylinux_2_28 is AlmaLinux 8, whose curl is 7.61. I "verified the command end to end" on macOS, whose curl is current -- proving nothing about the curl that actually runs it. Replaced with --retry-connrefused (7.52.0), which covers the failure mode that mattered. Every flag now used is 7.52 or older: --retry 7.12.3 --retry-connrefused 7.52.0 --connect-timeout 7.7 Checked against `Added:` in curl/docs/cmdline-opts/.md, and recorded as a CURL FLAG CEILING comment beside the command so the next person does not repeat it. Verified the folded scalar still parses to one line with no stray newlines and no banned flag. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/wheels.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 1a1c043..909da54 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -93,11 +93,18 @@ jobs: # Every line stays at THIS indent on purpose -- a more-indented # line in a `>-` folded scalar keeps its newline instead of # folding to a space, which would split a URL from its curl. + # CURL FLAG CEILING: this runs against AlmaLinux 8's curl 7.61, + # NOT the host's. --retry (7.12.3), --retry-connrefused (7.52) + # and --connect-timeout (7.7) are fine; --retry-all-errors is + # 7.71 and made every Linux wheel fail with + # "option --retry-all-errors: is unknown". Check `Added:` in + # curl/docs/cmdline-opts/.md before adding a flag here -- + # testing the command on a Mac proves nothing about this curl. CIBW_BEFORE_ALL_LINUX: >- dnf install -y flex && - { curl -fsSL --retry 3 --retry-all-errors --connect-timeout 20 https://ftpmirror.gnu.org/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz || - curl -fsSL --retry 3 --retry-all-errors --connect-timeout 20 https://mirrors.kernel.org/gnu/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz || - curl -fsSL --retry 3 --retry-all-errors --connect-timeout 20 https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz ; } && + { curl -fsSL --retry 3 --retry-connrefused --connect-timeout 20 https://ftpmirror.gnu.org/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz || + curl -fsSL --retry 3 --retry-connrefused --connect-timeout 20 https://mirrors.kernel.org/gnu/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz || + curl -fsSL --retry 3 --retry-connrefused --connect-timeout 20 https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.gz -o /tmp/bison.tar.gz ; } && cd /tmp && tar xzf bison.tar.gz && cd bison-3.8.2 && ./configure --prefix=/usr/local && make -j$(nproc) && make install # Mirrors ci.yml's macOS step: the hosted runner image ships an