From 7c5608b09c9800caeebe512f9ab36a3f20a10f6e Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Tue, 23 Jun 2026 21:52:21 -0400 Subject: [PATCH] ci(flatpak): retry flatpak user install --- .github/workflows/ci-flatpak.yml | 38 +++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-flatpak.yml b/.github/workflows/ci-flatpak.yml index 7a1cfde..ce22a92 100644 --- a/.github/workflows/ci-flatpak.yml +++ b/.github/workflows/ci-flatpak.yml @@ -59,20 +59,38 @@ jobs: - name: Setup Flatpak dependencies run: | + flatpak_user_install() { + local attempt + local max_attempts=5 + local wait_seconds + + for ((attempt = 1; attempt <= max_attempts; attempt++)); do + if flatpak --user install -y --or-update flathub "$@"; then + return 0 + fi + + if [ "${attempt}" -eq "${max_attempts}" ]; then + return 1 + fi + + wait_seconds=$((attempt * 15)) + echo "Flatpak install failed; retrying in ${wait_seconds}s (${attempt}/${max_attempts})" + sleep "${wait_seconds}" + done + } + sudo apt-get update -y sudo apt-get install -y flatpak - sudo su "$(whoami)" -c "flatpak --user remote-add --if-not-exists flathub \ + flatpak --user remote-add --if-not-exists flathub \ https://flathub.org/repo/flathub.flatpakrepo - " - - sudo su "$(whoami)" -c "flatpak --user install -y flathub \ - org.flatpak.Builder \ - org.freedesktop.Platform/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \ - org.freedesktop.Sdk/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \ - org.freedesktop.Sdk.Extension.node${NODE_VERSION}/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \ - org.freedesktop.Sdk.Extension.rust-stable/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \ - " + + flatpak_user_install \ + "org.flatpak.Builder" \ + "org.freedesktop.Platform/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \ + "org.freedesktop.Sdk/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \ + "org.freedesktop.Sdk.Extension.node${NODE_VERSION}/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \ + "org.freedesktop.Sdk.Extension.rust-stable/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" flatpak run org.flatpak.Builder --version