38 lines
910 B
Docker
38 lines
910 B
Docker
## lint image
|
|
## current as of 2022-01-25
|
|
FROM golangci/golangci-lint@sha256:d16ef91da7e10f3df45c36876543326abbc4c16aaab6548549560b9f52e9e831 AS linter
|
|
|
|
RUN mkdir -p /build
|
|
WORKDIR /build
|
|
COPY ./ ./
|
|
RUN golangci-lint run
|
|
|
|
## build image:
|
|
# this is golang:1.17.6-buster as of 2022-01-27
|
|
FROM golang@sha256:52a48e0239f4d645b20ac268a60361703afe7feb2df5697fa89f72052cb87a3e AS builder
|
|
#FROM golang:1.16-buster AS builder
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
RUN apt update && apt install -y make bzip2 protobuf-compiler
|
|
|
|
RUN mkdir -p /build
|
|
WORKDIR /build
|
|
|
|
COPY go.mod .
|
|
COPY go.sum .
|
|
|
|
COPY ./ ./
|
|
# don't lint again during build because there's no golangci-lint in this
|
|
# image and we already did it in a previous stage
|
|
#RUN make lint
|
|
RUN make mfer
|
|
RUN go mod vendor
|
|
RUN tar -c . | bzip2 > /src.tbz2
|
|
|
|
|
|
FROM scratch
|
|
COPY --from=builder /src.tbz2 /src.tbz2
|
|
COPY --from=builder /build/mfer /mfer
|
|
ENTRYPOINT ["/mfer"]
|
|
|