fix(ci): try accessing host Docker daemon directly
Some checks failed
Lint, Build, and Docker / format (push) Successful in 36s
Lint, Build, and Docker / clippy (push) Successful in 1m32s
Lint, Build, and Docker / build (push) Has been cancelled
Lint, Build, and Docker / docker-build (push) Has been cancelled

- Remove container spec and DinD service
- Try to access host Docker daemon via various endpoints
- Test unix:///var/run/docker.sock, TCP localhost, Docker bridge
- This bypasses network isolation issues
- If this works, we can use Buildx in next step
This commit is contained in:
goose 2026-03-19 09:07:08 -03:00
parent 006bcd9dde
commit 1ebe079de7

View file

@ -95,49 +95,45 @@ jobs:
run: cargo build --release --verbose run: cargo build --release --verbose
# ============================================================================== # ==============================================================================
# Job 4: Docker Build with Buildx - Using runs-on: docker without container # Job 4: Docker Build - Try accessing host Docker via DOCKER_HOST
# ============================================================================== # ==============================================================================
docker-build: docker-build:
runs-on: docker runs-on: docker
# No container - should have direct Docker access
needs: [build] needs: [build]
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Verify Docker is available - name: Try accessing Docker
run: | run: |
docker version echo "Checking Docker availability..."
docker info # Try various Docker host options
if docker info >/dev/null 2>&1; then
echo "✅ Docker accessible via default socket"
elif docker -H unix:///var/run/docker.sock info >/dev/null 2>&1; then
echo "✅ Docker accessible via /var/run/docker.sock"
export DOCKER_HOST=unix:///var/run/docker.sock
elif docker -H tcp://127.0.0.1:2375 info >/dev/null 2>&1; then
echo "✅ Docker accessible via TCP localhost"
export DOCKER_HOST=tcp://127.0.0.1:2375
elif docker -H tcp://172.17.0.1:2375 info >/dev/null 2>&1; then
echo "✅ Docker accessible via Docker bridge"
export DOCKER_HOST=tcp://172.17.0.1:2375
else
echo "❌ Docker not accessible"
echo "Available network interfaces:"
ip addr show
exit 1
fi
- name: Set up Docker Buildx - name: Show Docker version
run: | run: docker version
docker buildx version
docker buildx create --use --name builder
docker buildx inspect --bootstrap
- name: Build Docker image with Buildx - name: Build Docker image
working-directory: ./backend working-directory: ./backend
run: | run: |
docker buildx build \ docker build -f docker/Dockerfile -t normogen-backend:${{ github.sha }} -t normogen-backend:latest .
--file docker/Dockerfile \
--tag normogen-backend:${{ github.sha }} \
--tag normogen-backend:latest \
--cache-from type=local,src=/tmp/.buildx-cache \
--cache-to type=local,dest=/tmp/.buildx-cache-new,mode=max \
--load \
.
# Rotate cache
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache || true
- name: Test Docker image - name: Show images
run: | run: docker images normogen-backend
docker run --rm normogen-backend:${{ github.sha }} ls -la /app/normogen-backend || echo "Binary check"
- name: Show image info
run: |
docker images normogen-backend
docker inspect normogen-backend:${{ github.sha }} || echo "Image inspect"