From f5df4a413680d6ecb9db36594a7a4186c92def8c Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Thu, 13 Aug 2026 10:47:36 +0200 Subject: [PATCH] ci: retry the Bash 3.0 tarball download and fall back to a mirror ftp.gnu.org timed out on two unrelated PRs in one afternoon, both curl exit 28, and each one needed a human to spot that the red tick had nothing to do with the change. Retries on the three downloads, and a mirrors.kernel.org fallback for the tarball itself. Closes #1106 --- .github/workflows/tests-bash-3.0.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-bash-3.0.yml b/.github/workflows/tests-bash-3.0.yml index e8097764..f6ed099b 100644 --- a/.github/workflows/tests-bash-3.0.yml +++ b/.github/workflows/tests-bash-3.0.yml @@ -42,11 +42,19 @@ jobs: && rm -rf /var/lib/apt/lists/* WORKDIR /tmp - RUN curl -LO https://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz \ + # ftp.gnu.org times out often enough to have failed two unrelated PRs + # in one afternoon (curl exit 28). Retry, and fall back to a GNU + # mirror before giving up, so a red tick means the code is red. + RUN (curl -fsSL --retry 5 --retry-delay 3 --retry-connrefused --connect-timeout 20 \ + -o bash-3.0.tar.gz https://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz \ + || curl -fsSL --retry 5 --retry-delay 3 --retry-connrefused --connect-timeout 20 \ + -o bash-3.0.tar.gz https://mirrors.kernel.org/gnu/bash/bash-3.0.tar.gz) \ && tar xzf bash-3.0.tar.gz \ && cd bash-3.0 \ - && curl -fsSL -o support/config.guess 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.guess' \ - && curl -fsSL -o support/config.sub 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub' \ + && curl -fsSL --retry 5 --retry-delay 3 --retry-connrefused --connect-timeout 20 \ + -o support/config.guess 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.guess' \ + && curl -fsSL --retry 5 --retry-delay 3 --retry-connrefused --connect-timeout 20 \ + -o support/config.sub 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub' \ && chmod +x support/config.guess support/config.sub \ && ./configure --prefix=/opt/bash-3.0 \ && make \