fix: detect buildkit bootstrap failure and fallback to docker driver
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user