From 73665e1bc7000c617795cbed20e4ebd7f2a1c478 Mon Sep 17 00:00:00 2001 From: "Christoph K." Date: Wed, 8 Apr 2026 08:16:04 +0200 Subject: [PATCH] Run go test inside Docker build instead of separate docker run step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bind-mounted source causes Go module resolution issues in the runner container. Tests now run as a Dockerfile layer (after go mod download, before SPA inject + go build) — no bind mount, no extra step needed. A failed test aborts the build and the deploy never happens. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/deploy.yml | 8 -------- Dockerfile | 1 + 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 3a6d144..417b3e3 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -25,14 +25,6 @@ jobs: - name: Write .env run: printf 'DB_PASSWORD=%s\n' '${{ secrets.DB_PASSWORD }}' > ${{ vars.DEPLOY_DIR }}/.env - - name: Test - run: | - docker run --rm \ - -v ${{ vars.DEPLOY_DIR }}:/src \ - -w /src/backend \ - golang:1.25-alpine \ - go test ./... - - name: Build & Deploy run: docker compose -f ${{ vars.DEPLOY_DIR }}/docker-compose.yml up --build -d diff --git a/Dockerfile b/Dockerfile index 2219417..eec0322 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,7 @@ WORKDIR /app COPY backend/go.mod backend/go.sum ./ RUN go mod download COPY backend/ ./ +RUN go test ./... # Inject built SPA into embed path COPY --from=webapp-builder /webapp/dist ./internal/api/webapp/ RUN CGO_ENABLED=0 GOOS=linux go build -o /server ./cmd/server