29 lines
660 B
Bash
29 lines
660 B
Bash
# Copied retry logic from Travis CI [http://bit.ly/2jPDCtV]
|
|
# Author: gonewest818 https://github.com/clojure-emacs/cider/pull/2139
|
|
|
|
ANSI_RED="\033[31;1m"
|
|
ANSI_GREEN="\033[32;1m"
|
|
ANSI_RESET="\033[0m"
|
|
ANSI_CLEAR="\033[0K"
|
|
|
|
travis_retry() {
|
|
local result=0
|
|
local count=1
|
|
while [ $count -le 3 ]; do
|
|
[ $result -ne 0 ] && {
|
|
echo -e "\n${ANSI_RED}The command \"$@\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2
|
|
}
|
|
"$@"
|
|
result=$?
|
|
[ $result -eq 0 ] && break
|
|
count=$(($count + 1))
|
|
sleep 1
|
|
done
|
|
|
|
[ $count -gt 3 ] && {
|
|
echo -e "\n${ANSI_RED}The command \"$@\" failed 3 times.${ANSI_RESET}\n" >&2
|
|
}
|
|
|
|
return $result
|
|
}
|