1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#!/bin/bash
set -e -x
export DEBIAN_FRONTEND=noninteractive
install_retry_counter=0
max_apt_retries=5
# This function loops a couple of times over apt-get, hoping to
# avoid CI errors due to errors during apt-get
# hashsum mismatches, DNS errors and similar things
while true; do
(( install_retry_counter+=1 ))
if [ "${install_retry_counter}" -gt "${max_apt_retries}" ]; then
exit 1
fi
apt-get update -y && apt-get install -y --no-install-recommends "$@" && break
# In case it is a network error let's wait a bit.
echo "Retrying attempt ${install_retry_counter}"
sleep "${install_retry_counter}"
done
|