sonic-buildimage/scripts/run_with_retry
Liu Shilong 364045cfe5
[build] Add retry when make SONiC image to improve success rate. (#12325)
Why I did it
Makefile needs some dependencies from the Internet. It will fail for network related issue.
Retries will fix most of these issues.

How I did it
Add retries when running commands which maybe related with networking.

How to verify it
2022-12-19 12:18:36 +08:00

18 lines
700 B
Bash
Executable File

#!/bin/bash
run_with_retry(){
[ "$SONIC_BUILD_RETRY_COUNT" -gt 0 ] || SONIC_BUILD_RETRY_COUNT=0
[[ "$*" == "" ]] && { echo "run_with_retry: input command can't be empty." 1>&2;exit 1; }
for ((i=0; i<=$SONIC_BUILD_RETRY_COUNT; i++))
do
if [[ $i != 0 ]];then
echo "==============================================================================" 1>&2
echo "Waiting $SONIC_BUILD_RETRY_INTERVAL to run again, $i/$SONIC_BUILD_RETRY_COUNT" 1>&2
echo "==============================================================================" 1>&2
sleep $SONIC_BUILD_RETRY_INTERVAL
fi
"$@" && break
done
}
run_with_retry "$@"