fix: detect buildkit bootstrap failure and fallback to docker driver

This commit is contained in:
Hermes
2026-05-02 18:19:15 -07:00
parent e23f8a636d
commit 28a544906c

View File

@@ -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