From 7734b931800efc2f19623e59e68961c892ee49d3 Mon Sep 17 00:00:00 2001 From: jenkins Date: Tue, 21 Apr 2026 19:26:55 -0300 Subject: [PATCH] ci(atlasbot): retry buildx bootstrap --- Jenkinsfile | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 646b622..ae90725 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -202,11 +202,18 @@ PY fi BUILDER_NAME="atlasbot-${BUILD_NUMBER}" docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true - if docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt image=registry.bstein.dev/bstein/buildkit:buildx-stable-1 --bootstrap --use; then - printf '%s\n' 0 > build/buildx.rc - else - printf '%s\n' 1 > build/buildx.rc - echo "docker buildx bootstrap failed; quality metrics will record the setup failure" >&2 + rc=1 + for attempt in 1 2 3; do + if docker buildx create --name "${BUILDER_NAME}" --driver docker-container --driver-opt image=registry.bstein.dev/bstein/buildkit:buildx-stable-1 --bootstrap --use; then + rc=0 + break + fi + docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true + sleep $((attempt * 10)) + done + printf '%s\n' "${rc}" > build/buildx.rc + if [ "${rc}" -ne 0 ]; then + echo "docker buildx bootstrap failed after retries; quality metrics will record the setup failure" >&2 fi ''' } @@ -284,6 +291,7 @@ PY container('builder') { sh ''' set -euo pipefail + test "$(cat build/buildx.rc 2>/dev/null || echo 1)" -eq 0 VERSION_TAG=$(cut -d= -f2 build.env) docker buildx build --platform linux/arm64 \ --target runtime \