diff --git a/etc/ci/retry.sh b/etc/ci/retry.sh new file mode 100755 index 00000000000..4c036085108 --- /dev/null +++ b/etc/ci/retry.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Retries a given command until it passes +# Run as `retry.sh N command args...` +# where `N` is the maximum number of tries, and `command args...` is the +# command to run, with arguments + +n=$1 +shift; # this removes the first argument from $@ +for i in `seq $n`; do + echo "====== RUN NUMBER: $i ======"; + if $@ # run command, check if exit code is zero + then + exit 0 # command passed, all is well + fi +done +exit 1