diff --git a/set_up_travis_logs.sh b/set_up_travis_logs.sh index f62bb139..4eaaf05e 100755 --- a/set_up_travis_logs.sh +++ b/set_up_travis_logs.sh @@ -1,5 +1,30 @@ #!/bin/bash +function travis_retry() { + $Local:result = 0 + $Local:count = 1 + $Local:cmd_string = $args -join ' ' + + while ( $count -le 3 ) { + if ( $result -ne 0 ) { + Write-Host -foregroundColor Red "`nThe command ""$cmd_string"" failed. Retrying, $count of 3.`n" 2>&1 + } + Invoke-Expression($cmd_string) + $result = $LastExitCode + if ( $result -eq 0 ) { + break + } + $count=$count + 1 + sleep 1 + } + + if ( $count -eq 3 ) { + Write-Host -foregroundColor Red "`nThe command ""$cmd_string"" failed 3 times.`n" 2>&1 + } + + return $result +} + # clone travis-logs pushd $HOME git clone --depth=1 https://github.com/travis-ci/travis-logs.git