summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2023-01-13 23:02:34 +1100
committerDarren Tucker <dtucker@dtucker.net>2023-01-13 23:05:08 +1100
commitd03e245e034019a37388f6f5f893ce848ab6d2e2 (patch)
tree19ff0ef2bb7a8092a94987a242db5fa5708a8367
parent625f6bc39840167dafb3bf5b6a3e18503ac986e8 (diff)
Retry package installation 3 times.
When setting up the CI environment, retry package installation 3 times before going up. Should help prevent spurious failures during infrastructure issues.
-rwxr-xr-x.github/setup_ci.sh19
1 files changed, 16 insertions, 3 deletions
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index 044c4d12..e4480e61 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -139,16 +139,29 @@ if [ "yes" = "$INSTALL_FIDO_PPA" ]; then
sudo apt-add-repository -y ppa:yubico/stable
fi
-if [ "x" != "x$PACKAGES" ]; then
+tries=3
+while [ ! -z "$PACKAGES" ] && [ "$tries" -gt "0" ]; do
case "$PACKAGER" in
apt)
sudo apt update -qq
- sudo apt install -qy $PACKAGES
+ if sudo apt install -qy $PACKAGES; then
+ PACKAGES=""
+ fi
;;
setup)
- /cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`
+ if /cygdrive/c/setup.exe -q -P `echo "$PACKAGES" | tr ' ' ,`; then
+ PACKAGES=""
+ fi
;;
esac
+ if [ ! -z "$PACKAGES" ]; then
+ sleep 90
+ fi
+ tries=$(($tries - 1))
+done
+if [ ! -z "$PACKAGES" ]; then
+ echo "Package installation failed."
+ exit 1
fi
if [ "${INSTALL_HARDENED_MALLOC}" = "yes" ]; then