blob: fa1303bd53ef370f37917848f9577b66050e9eb9 [file] [log] [blame]
FROM golang:1.16.0-alpine3.12 as builder
WORKDIR /workspace
COPY go.mod go.sum /workspace/
# This replaces go mod download so that we only download what we need
# https://github.com/golang/go/issues/18387
RUN go list -test all
COPY cmd /workspace/cmd
COPY internal /workspace/internal
RUN CGO_ENABLED=0 go build -ldflags "-s -w" -trimpath -o /go/bin/buf ./cmd/buf
FROM alpine:3.12.0
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"]