From beccdc39591c8349c33d857f13045610f0e78359 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Sun, 19 Apr 2026 15:45:15 -0300 Subject: [PATCH] ci(bstein-home): keep quality publish path alive when buildx is down --- Jenkinsfile | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 536b7ed..8c5f3b0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -221,6 +221,8 @@ PY container('builder') { sh ''' set -euo pipefail + mkdir -p build + set +e ready=0 for i in $(seq 1 10); do if docker info >/dev/null 2>&1; then @@ -229,17 +231,28 @@ PY fi sleep 2 done + rc=0 if [ "${ready}" -ne 1 ]; then echo "docker daemon did not become ready on ${DOCKER_HOST}" >&2 docker version || true - exit 1 + rc=1 + else + BUILDER_NAME="bstein-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=moby/buildkit:buildx-stable-1 \ + --bootstrap --use + rc=$? + if [ "${rc}" -eq 0 ]; then + docker buildx inspect "${BUILDER_NAME}" --bootstrap + rc=$? + fi + fi + set -e + printf '%s\n' "${rc}" > build/buildx.rc + if [ "${rc}" -ne 0 ]; then + echo "warning: buildx setup failed; publish stages will fail later" >&2 fi - BUILDER_NAME="bstein-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=moby/buildkit:buildx-stable-1 \ - --bootstrap --use - docker buildx inspect "${BUILDER_NAME}" --bootstrap ''' } } @@ -346,6 +359,7 @@ printf '%s\n' "${frontend_rc}" > ../build/frontend-tests.rc 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 \ @@ -364,6 +378,7 @@ printf '%s\n' "${frontend_rc}" > ../build/frontend-tests.rc 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 \