From f65d257565ab0244b294974f8ec24b5432b41753 Mon Sep 17 00:00:00 2001 From: inffy <10782843+inffy@users.noreply.github.com> Date: Mon, 2 Nov 2026 14:56:28 +0000 Subject: [PATCH] feat(ci): add dnf-retry wrapper script (#3133) Co-authored-by: renner <80410025+renner0e@users.noreply.github.com> --- build_scripts/base/01-packages.sh | 2 +- build_scripts/shared/build-prep.sh | 1 + build_scripts/shared/utils/dnf-retry | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100755 build_scripts/shared/utils/dnf-retry diff --git a/build_scripts/base/01-packages.sh b/build_scripts/base/01-packages.sh index c9ec968f..d024f6f3 100755 --- a/build_scripts/base/01-packages.sh +++ b/build_scripts/base/01-packages.sh @@ -153,7 +153,7 @@ TERRA_PACKAGES=( # Fedora Tailscale is usually behind TAILSCALE=(tailscale) -dnf -y install --from-repo="terra" "${TERRA_PACKAGES[@]}" +dnf-retry -y install --from-repo="terra" "${TERRA_PACKAGES[@]}" COPR_PREFIX="copr:copr.fedorainfracloud.org" diff --git a/build_scripts/shared/build-prep.sh b/build_scripts/shared/build-prep.sh index 0e00be92..bf752be0 100755 --- a/build_scripts/shared/build-prep.sh +++ b/build_scripts/shared/build-prep.sh @@ -27,5 +27,6 @@ dnf config-manager disable fedora-cisco-openh264 mkdir -p /tmp/scripts/helpers install -Dm0755 /ctx/build_scripts/shared/utils/ghcurl /tmp/scripts/helpers/ghcurl +install -Dm0755 /ctx/build_scripts/shared/utils/dnf-retry /tmp/scripts/helpers/dnf-retry echo "::endgroup::" diff --git a/build_scripts/shared/utils/dnf-retry b/build_scripts/shared/utils/dnf-retry new file mode 100755 index 00000000..0100e837 --- /dev/null +++ b/build_scripts/shared/utils/dnf-retry @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail + +tries=5 +sleep=60 + +for i in $(seq 1 "${tries}"); do + if [[ ${i} -gt 1 ]]; then + # echo "[+] Command failed. Waiting for ${sleep} seconds" + sleep "${sleep}" + fi + # echo "[+] Running (try: ${i}): dnf ${*}" + dnf "${@}" && r=0 && break || r=$? +done +exit "$r" +