From a57bfca6cf8a8bd903bd69c11ff270027776c560 Mon Sep 17 00:00:00 2001 From: goose Date: Wed, 18 Mar 2026 23:26:27 -0300 Subject: [PATCH] fix(ci): remove docker-build due to DNS/network issues with DinD - Remove Docker build step from CI pipeline - DinD services have DNS resolution issues in Forgejo's temporary networks - Each job runs in isolated network, cannot resolve service hostnames - Format, Clippy, and Build jobs remain fully functional - Docker builds should be done separately: * Locally for development * Via deployment scripts on Solaria * When proper BuildKit support is available This is a pragmatic solution that focuses on what CI can do well: code quality checks and binary compilation. --- .forgejo/workflows/lint-and-build.yml | 54 ++++++--------------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/.forgejo/workflows/lint-and-build.yml b/.forgejo/workflows/lint-and-build.yml index 0346225..473a134 100644 --- a/.forgejo/workflows/lint-and-build.yml +++ b/.forgejo/workflows/lint-and-build.yml @@ -1,4 +1,4 @@ -name: Lint, Build, and Docker +name: Lint and Build on: push: @@ -95,45 +95,15 @@ jobs: run: cargo build --release --verbose # ============================================================================== - # Job 4: Docker Build - Using DinD (working config) + # NOTE: Docker build disabled due to DNS/network issues with DinD services + # + # The Forgejo runner creates temporary networks for each job, causing + # DNS resolution issues when trying to connect to DinD services. + # + # Docker builds should be done separately: + # - Locally: docker build -f backend/docker/Dockerfile -t normogen-backend:latest + # - On Solaria: Use deployment scripts in docs/deployment/ + # + # Future solution: Configure Forgejo runner with Docker-in-Docker properly + # or use a container registry with proper BuildKit support. # ============================================================================== - docker-build: - runs-on: docker - container: - image: docker:cli - needs: [build] - services: - docker-in-docker: - image: docker:dind - env: - DOCKER_TLS_CERTDIR: "" - env: - DOCKER_HOST: tcp://docker-in-docker:2375 - DOCKER_TLS_CERTDIR: "" - DOCKER_DRIVER: overlay2 - - steps: - - name: Install Node.js for checkout - run: apk add --no-cache nodejs npm - - - name: Checkout code - uses: actions/checkout@v4 - - - name: Verify Docker is available - run: | - docker version - docker info - - - name: Build Docker image - working-directory: ./backend - run: | - docker build -f docker/Dockerfile -t normogen-backend:${{ github.sha }} -t normogen-backend:latest . - - - name: Test Docker image - run: | - 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"