2017-04-09 08:42:16 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2016-02-19 17:39:05 +00:00
|
|
|
set -e
|
|
|
|
set -o pipefail
|
|
|
|
|
2016-02-19 08:00:59 +00:00
|
|
|
ANSI_RED="\033[31;1m"
|
2017-04-09 08:42:16 +00:00
|
|
|
# shellcheck disable=SC2034
|
2016-02-19 08:00:59 +00:00
|
|
|
ANSI_GREEN="\033[32;1m"
|
|
|
|
ANSI_RESET="\033[0m"
|
|
|
|
|
|
|
|
travis_retry() {
|
2017-04-11 09:28:01 +00:00
|
|
|
local result=0
|
|
|
|
local count=1
|
|
|
|
set +e
|
2016-02-19 17:39:05 +00:00
|
|
|
|
2020-02-02 19:35:21 +00:00
|
|
|
while [ ${count} -le 3 ]; do
|
|
|
|
[ ${result} -ne 0 ] && {
|
|
|
|
echo -e "\n${ANSI_RED}The command \"$*\" failed. Retrying, ${count} of 3.${ANSI_RESET}\n" >&2
|
2017-04-11 09:28:01 +00:00
|
|
|
}
|
|
|
|
"$@"
|
|
|
|
result=$?
|
2020-02-02 19:35:21 +00:00
|
|
|
[ ${result} -eq 0 ] && break
|
2017-04-11 09:28:01 +00:00
|
|
|
count=$((count + 1))
|
|
|
|
sleep 1
|
|
|
|
done
|
2016-02-19 08:00:59 +00:00
|
|
|
|
2020-02-02 19:35:21 +00:00
|
|
|
[ ${count} -gt 3 ] && {
|
2017-04-11 09:28:01 +00:00
|
|
|
echo -e "\n${ANSI_RED}The command \"$*\" failed 3 times.${ANSI_RESET}\n" >&2
|
|
|
|
}
|
2016-02-19 08:00:59 +00:00
|
|
|
|
2017-04-11 09:28:01 +00:00
|
|
|
set -e
|
2020-02-02 19:35:21 +00:00
|
|
|
return ${result}
|
2016-02-19 08:00:59 +00:00
|
|
|
}
|