@@ -59,20 +59,38 @@ jobs:
5959
6060 - name : Setup Flatpak dependencies
6161 run : |
62+ flatpak_user_install() {
63+ local attempt
64+ local max_attempts=5
65+ local wait_seconds
66+
67+ for ((attempt = 1; attempt <= max_attempts; attempt++)); do
68+ if flatpak --user install -y --or-update flathub "$@"; then
69+ return 0
70+ fi
71+
72+ if [ "${attempt}" -eq "${max_attempts}" ]; then
73+ return 1
74+ fi
75+
76+ wait_seconds=$((attempt * 15))
77+ echo "Flatpak install failed; retrying in ${wait_seconds}s (${attempt}/${max_attempts})"
78+ sleep "${wait_seconds}"
79+ done
80+ }
81+
6282 sudo apt-get update -y
6383 sudo apt-get install -y flatpak
6484
65- sudo su "$(whoami)" -c " flatpak --user remote-add --if-not-exists flathub \
85+ flatpak --user remote-add --if-not-exists flathub \
6686 https://flathub.org/repo/flathub.flatpakrepo
67- "
68-
69- sudo su "$(whoami)" -c "flatpak --user install -y flathub \
70- org.flatpak.Builder \
71- org.freedesktop.Platform/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \
72- org.freedesktop.Sdk/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \
73- org.freedesktop.Sdk.Extension.node${NODE_VERSION}/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \
74- org.freedesktop.Sdk.Extension.rust-stable/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION} \
75- "
87+
88+ flatpak_user_install \
89+ "org.flatpak.Builder" \
90+ "org.freedesktop.Platform/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \
91+ "org.freedesktop.Sdk/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \
92+ "org.freedesktop.Sdk.Extension.node${NODE_VERSION}/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}" \
93+ "org.freedesktop.Sdk.Extension.rust-stable/${MATRIX_ARCH}/${FREEDESKTOP_SDK_VERSION}"
7694
7795 flatpak run org.flatpak.Builder --version
7896
0 commit comments