ci(metis): retry transient registry pulls

This commit is contained in:
codex 2026-05-20 06:19:48 -03:00
parent 2121db7613
commit b55c748662

19
Jenkinsfile vendored
View File

@ -415,11 +415,24 @@ PY
docker version || true
exit 1
fi
docker run --privileged --rm "${BINFMT_IMAGE}" --install amd64,arm64
retry_docker() {
attempts="$1"
delay="$2"
shift 2
rc=0
for attempt in $(seq 1 "${attempts}"); do
"$@" && return 0
rc=$?
echo "docker command failed with rc=${rc}; retrying in ${delay}s (${attempt}/${attempts})"
sleep "${delay}"
done
return "${rc}"
}
retry_docker 4 10 docker run --privileged --rm "${BINFMT_IMAGE}" --install amd64,arm64
BUILDER_NAME="metis-builder-${BUILD_NUMBER}"
docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true
docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt image=registry.bstein.dev/bstein/buildkit:buildx-stable-1 --use
docker buildx inspect "${BUILDER_NAME}" --bootstrap
retry_docker 4 10 docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt image=registry.bstein.dev/bstein/buildkit:buildx-stable-1 --use
retry_docker 4 10 docker buildx inspect "${BUILDER_NAME}" --bootstrap
'''
}
}