blob: 0207f8fcd30591cb0a3e0eab0e2894fb2f8b0e7d [file] [log] [blame] [edit]
FROM --platform=${BUILDPLATFORM} golang:1.22-alpine3.20 as builder
WORKDIR /workspace
COPY go.mod go.sum /workspace/
RUN go mod download
COPY cmd /workspace/cmd
COPY private /workspace/private
ARG TARGETOS
ARG TARGETARCH
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
go build -ldflags "-s -w" -trimpath -buildvcs=false -o /go/bin/buf ./cmd/buf
FROM --platform=${TARGETPLATFORM} alpine:3.20.2
RUN apk add --update --no-cache \
ca-certificates \
git \
openssh-client && \
rm -rf /var/cache/apk/*
COPY --from=builder /go/bin/buf /usr/local/bin/buf
ENTRYPOINT ["/usr/local/bin/buf"]