mirror of
https://code.forgejo.org/actions/cascading-pr
synced 2025-06-26 13:28:01 +02:00
simplify the retry implementation and tests
This commit is contained in:
parent
9d138db73c
commit
15dc3ec7a7
4 changed files with 29 additions and 18 deletions
|
@ -28,23 +28,24 @@ function dependencies() {
|
|||
}
|
||||
|
||||
function retry() {
|
||||
rm -f $TMPDIR/retry.out
|
||||
rm -f $TMPDIR/retry.{out,attempt,err}
|
||||
local success=false
|
||||
for delay in $RETRY_DELAYS ; do
|
||||
if "$@" |& tee -a $TMPDIR/retry.out > $TMPDIR/retry-attempt.out ; then
|
||||
if "$@" > $TMPDIR/retry.attempt 2>> $TMPDIR/retry.err ; then
|
||||
success=true
|
||||
break
|
||||
fi
|
||||
cat $TMPDIR/retry-attempt.out >&2
|
||||
log waiting $delay "$@"
|
||||
cat $TMPDIR/retry.{err,attempt} >> $TMPDIR/retry.out
|
||||
cat $TMPDIR/retry.{err,attempt} >&2
|
||||
echo waiting $delay "$@" >&2
|
||||
sleep $delay
|
||||
done
|
||||
if $success ; then
|
||||
cat $TMPDIR/retry-attempt.out
|
||||
cat $TMPDIR/retry.attempt
|
||||
return 0
|
||||
else
|
||||
log_error retry failed for "$@"
|
||||
cat $TMPDIR/retry.out
|
||||
echo retry failed for "$@" >&2
|
||||
cat $TMPDIR/retry.out >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue