With the switch away from Travis to Github actions, the scripts we use for CI have to be updated. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
36 lines
1.0 KiB
Bash
36 lines
1.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# This file is intended to be sourced, so it is not being marked as
|
|
# an executable file in git.
|
|
|
|
# This is modified from
|
|
# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/bash/travis_setup_env.bash
|
|
export ANSI_RED='\033[31;1m'
|
|
export ANSI_GREEN='\033[32;1m'
|
|
export ANSI_YELLOW='\033[33;1m'
|
|
export ANSI_RESET='\033[0m'
|
|
export ANSI_CLEAR='\033[0K'
|
|
|
|
# This is modified loop version of
|
|
# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/bash/travis_retry.bash
|
|
command_retry() {
|
|
local result=0
|
|
local count=1
|
|
local max=5
|
|
while [ "${count}" -le "${max}" ]; do
|
|
[ "${result}" -ne 0 ] && {
|
|
printf "${ANSI_RED}"'The command "%s" failed. Retrying, %s of %s.'"${ANSI_RESET}"'\n' "${*}" "${count}" "${max}" >&2
|
|
}
|
|
"${@}" && { result=0 && break; } || result="${?}"
|
|
: $((count=count+1))
|
|
sleep 1
|
|
done
|
|
|
|
[ "${count}" -gt "${max}" ] && {
|
|
printf "${ANSI_RED}"'The command "%s" failed %s times.'"${ANSI_RESET}"'\n' "${*}" "${max}" >&2
|
|
}
|
|
|
|
return "${result}"
|
|
}
|
|
|