From 1843bc968f80b1009b2a1fd0801f7527c8375498 Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Thu, 9 Apr 2026 11:27:45 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=B3=20Attempt=203:=20Inline=20version?= =?UTF-8?q?=20using=20prebuilt=20cache=20image?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/docker-push.yaml | 44 +++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/docker-push.yaml b/.gitea/workflows/docker-push.yaml index bbcbc69..6d69d6d 100644 --- a/.gitea/workflows/docker-push.yaml +++ b/.gitea/workflows/docker-push.yaml @@ -61,8 +61,48 @@ jobs: TAGS="$IMAGE_VERSION latest ${{ github.sha }}" echo "Building Docker image with tags: $TAGS" - # Build the production image using actual docker/Dockerfile (no inline) - docker build -t dance-lessons-coach -f docker/Dockerfile . + # Build the production image using inline version with prebuilt cache image + docker build -t dance-lessons-coach -f - . <<'EOF' + # dance-lessons-coach Production Docker Image + # Inline Dockerfile using prebuilt cache image + + # Use the build cache image as base + FROM gitea.arcodange.lab/arcodange/dance-lessons-coach-build-cache:${DEPS_HASH} AS builder + + # Set working directory and build the binary + WORKDIR /workspace + RUN go build -o dance-lessons-coach ./cmd/server + + # Final minimal image + FROM alpine:3.18 + + WORKDIR /app + + # Install minimal dependencies + RUN apk add --no-cache ca-certificates tzdata + + # Copy binary from builder + COPY --from=builder /workspace/dance-lessons-coach /app/dance-lessons-coach + + # Copy configuration + COPY config.yaml /app/config.yaml + + # Set permissions + RUN chmod +x /app/dance-lessons-coach + + # Set timezone + ENV TZ=UTC + + # Expose port + EXPOSE 8080 + + # Health check + HEALTHCHECK --interval=30s --timeout=3s \ + CMD wget -q --spider http://localhost:8080/api/health || exit 1 + + # Entry point + ENTRYPOINT ["/app/dance-lessons-coach"] + EOF for TAG in $TAGS; do IMAGE_NAME="${{ env.CI_REGISTRY }}/${{ env.GITEA_ORG }}/${{ env.GITEA_REPO }}:$TAG"