Files
rustup/ci/shared.bash
Daniel Silverstone 9672db3856 CI: Un-travis-ify our scripting for linux/mac
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>
2020-01-07 13:58:16 +00:00

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}"
}