From 8d06f7cf020bff336d58ff4dc6c99b037e41e415 Mon Sep 17 00:00:00 2001 From: yusing Date: Mon, 24 Feb 2025 04:31:13 +0800 Subject: [PATCH] fix github action caching --- Dockerfile | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 46d92c5..6037902 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -# Stage 1: Builder -FROM golang:1.24.0-alpine AS builder +# Stage 1: deps +FROM golang:1.24.0-alpine AS deps HEALTHCHECK NONE # package version does not matter @@ -11,17 +11,19 @@ WORKDIR /src # Only copy go.mod and go.sum initially for better caching COPY go.mod go.sum /src/ -# Utilize build cache -RUN --mount=type=cache,target="/go/pkg/mod" \ - go mod download -x +ENV GOPATH=/root/go +RUN go mod download -x -ENV GOCACHE=/root/.cache/go-build +# Stage 2: builder +FROM deps AS builder + +WORKDIR /src -COPY Makefile /src/ -COPY cmd /src/cmd -COPY internal /src/internal -COPY pkg /src/pkg -COPY agent /src/agent +COPY Makefile ./ +COPY cmd ./cmd +COPY internal ./internal +COPY pkg ./pkg +COPY agent ./agent ARG VERSION ENV VERSION=${VERSION} @@ -29,13 +31,13 @@ ENV VERSION=${VERSION} ARG MAKE_ARGS ENV MAKE_ARGS=${MAKE_ARGS} -RUN --mount=type=cache,target="/go/pkg/mod" \ - --mount=type=cache,target="/root/.cache/go-build" \ - make ${MAKE_ARGS} build link-binary && \ +ENV GOCACHE=/root/.cache/go-build +ENV GOPATH=/root/go +RUN make ${MAKE_ARGS} build link-binary && \ mv bin /app/ && \ mkdir -p /app/error_pages /app/certs -# Stage 2: Final image +# Stage 3: Final image FROM scratch LABEL maintainer="yusing@6uo.me"