#!/usr/bin/env bash set -e set -x # This is just a thin wrapper around provision. # Provisioning may fail due to many issues but most of the times a network # connection issue is the reason. So we are going to retry entire provisioning # once again if that fixes our problem. tools/provision "$@" || { ret=$? if [ "$ret" = 1 ]; then echo "\`provision\`: Something went wrong with the provisioning, might be a network issue, Retrying to provision..." tools/provision else echo "\`provision\`: Something REALLY BAD went wrong with the provisioning, not retrying." exit "$ret" fi }