| FROM --platform=${BUILDPLATFORM} golang:1.16.4-alpine3.12 as builder |
| |
| WORKDIR /workspace |
| |
| COPY go.mod go.sum /workspace/ |
| RUN go mod download |
| |
| COPY cmd /workspace/cmd |
| COPY internal /workspace/internal |
| |
| ARG TARGETOS |
| ARG TARGETARCH |
| RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \ |
| go build -ldflags "-s -w" -trimpath -o /go/bin/buf ./cmd/buf |
| |
| FROM --platform=${TARGETPLATFORM} alpine:3.12.4 |
| |
| 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"] |