diff --git a/Jenkinsfile b/Jenkinsfile index ae50cdb..72b3c8e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -292,7 +292,20 @@ printf '%s\n' "${gate_rc}" > build/quality-gate.rc fi BUILDER_NAME="ariadne-${BUILD_NUMBER}" docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true - docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt "image=${BUILDKIT_IMAGE}" --bootstrap --use + attempt=1 + while [ "${attempt}" -le 3 ]; do + if docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt "image=${BUILDKIT_IMAGE}" --bootstrap --use; then + break + fi + docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true + echo "buildx bootstrap attempt ${attempt}/3 failed; retrying after registry/network backoff" >&2 + sleep $((attempt * 15)) + attempt=$((attempt + 1)) + done + if [ "${attempt}" -gt 3 ]; then + echo "buildx bootstrap failed after retries" >&2 + exit 1 + fi docker buildx inspect "${BUILDER_NAME}" --bootstrap ''' }