Files
sarin/Dockerfile

33 lines
895 B
Docker

ARG GO_VERSION=1.25.5
FROM docker.io/library/golang:${GO_VERSION}-alpine AS builder
ARG VERSION=unknown
ARG GIT_COMMIT=unknown
WORKDIR /src
RUN --mount=type=bind,source=./go.mod,target=./go.mod \
--mount=type=bind,source=./go.sum,target=./go.sum \
go mod download
RUN --mount=type=bind,source=./,target=./ \
CGO_ENABLED=0 GOEXPERIMENT=greenteagc go build \
-ldflags "-X 'go.aykhans.me/sarin/internal/version.Version=${VERSION}' \
-X 'go.aykhans.me/sarin/internal/version.GitCommit=${GIT_COMMIT}' \
-X 'go.aykhans.me/sarin/internal/version.BuildDate=$(date -u +%Y-%m-%dT%H:%M:%SZ)' \
-X 'go.aykhans.me/sarin/internal/version.GoVersion=$(go version)' \
-s -w" \
-o /sarin ./cmd/cli/main.go
FROM gcr.io/distroless/static-debian12:latest
ENV TERM=xterm-256color
ENV COLORTERM=truecolor
WORKDIR /
COPY --from=builder /sarin /sarin
ENTRYPOINT ["./sarin"]