30 lines
377 B
Bash
30 lines
377 B
Bash
#!/usr/bin/env bash
|
|
|
|
# Prevent travis from timing out after 10 minutes of no output
|
|
tick() {
|
|
(while true; do sleep 300; echo; done) &
|
|
local PID=$!
|
|
disown
|
|
|
|
"$@"
|
|
local RET=$?
|
|
|
|
kill $PID
|
|
return $RET
|
|
}
|
|
export -f tick
|
|
|
|
retry() {
|
|
local tries=$1
|
|
shift
|
|
|
|
local i=0
|
|
while [ "$i" -lt "$tries" ]; do
|
|
"$@" && return 0
|
|
sleep $((2**((i++))))
|
|
done
|
|
|
|
return 1
|
|
}
|
|
export -f retry
|