diff --git a/Dockerfile b/Dockerfile index 90fb7e3..8e70088 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,26 @@ -# Build stage -FROM golang:1.22-alpine AS builder +######################## +# — Build stage — +######################## +FROM golang:1.23.4-alpine AS builder + +# git is needed to fetch modules and root CAs +RUN apk add --no-cache git ca-certificates + WORKDIR /src -COPY go.* ./ + +# Copy *both* dependency files first so Docker-layer caching works +COPY go.mod go.sum ./ RUN go mod download + +# Bring in the rest of the source COPY . . + +# Build static binary RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/action ./main.go -# Runtime Stage +######################## +# — Runtime stage — +######################## FROM alpine:3.20 COPY --from=builder /out/action /usr/local/bin/action ENTRYPOINT ["/usr/local/bin/action"]