From 28a544906c9d332ac84f983235133636d93df46a Mon Sep 17 00:00:00 2001 From: Hermes Date: Sat, 2 May 2026 18:19:15 -0700 Subject: [PATCH] fix: detect buildkit bootstrap failure and fallback to docker driver --- .gitea/actions/docker-build/action.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitea/actions/docker-build/action.yml b/.gitea/actions/docker-build/action.yml index a4d8809..8dc2605 100644 --- a/.gitea/actions/docker-build/action.yml +++ b/.gitea/actions/docker-build/action.yml @@ -75,20 +75,28 @@ runs: chmod +x $HOME/.docker/cli-plugins/docker-buildx docker buildx version + # Clean up any existing broken builder + docker buildx rm -f gitea-builder 2>/dev/null || true + # Try docker-container driver first (for multi-platform), fall back to docker driver - BUILDER_SETUP=false - if docker buildx create \ + OUTPUT=$(docker buildx create \ --name gitea-builder \ --driver docker-container \ --driver-opt image=moby/buildkit:buildx-stable-1 \ --driver-opt network=host \ - --use 2>&1; then - if docker buildx inspect --bootstrap 2>&1; then - BUILDER_SETUP=true - fi + --use 2>&1) + echo "$OUTPUT" + + if echo "$OUTPUT" | grep -qi "error\|failed\|permission\|denied"; then + # docker-container failed, fall back to docker driver + docker buildx rm -f gitea-builder 2>/dev/null || true + docker buildx create --name gitea-builder --driver docker --use fi - if [ "$BUILDER_SETUP" != "true" ]; then + # Verify builder works + INSPECT_OUTPUT=$(docker buildx inspect --bootstrap 2>&1) || true + echo "$INSPECT_OUTPUT" + if echo "$INSPECT_OUTPUT" | grep -qi "error\|failed"; then docker buildx rm -f gitea-builder 2>/dev/null || true docker buildx create --name gitea-builder --driver docker --use docker buildx inspect --bootstrap