################################################################################ #2345678911234567892123456789312345678941234567895123456789612345678971234567898 ################################################################################ FROM sneak/builder:2022-12-08 AS builder ENV DEBIAN_FRONTEND noninteractive WORKDIR /build COPY ./Makefile ./.golangci.yml ./go.mod ./go.sum /build/ COPY ./vendor.tzst /build/vendor.tzst COPY ./modcache.tzst /build/modcache.tzst COPY ./internal ./internal COPY ./bin/gitrev.sh ./bin/gitrev.sh COPY ./mfer ./mfer COPY ./cmd ./cmd ARG GITREV unknown ARG DRONE_COMMIT_SHA unknown RUN mkdir -p "$(go env GOMODCACHE)" && cd "$(go env GOMODCACHE)" && \ zstdmt -d --stdout /build/modcache.tzst | tar xf - && \ rm /build/modcache.tzst && cd /build RUN \ cd mfer && go generate . && cd .. && \ GOPACKAGESDEBUG=true golangci-lint run ./... && \ mkdir vendor && cd vendor && \ zstdmt -d --stdout /build/vendor.tzst | tar xf - && rm /build/vendor.tzst && \ cd .. && \ make mfer.cmd RUN rm -rf /build/vendor && go mod vendor && tar -c . | zstdmt -19 > /src.tzst ################################################################################ #2345678911234567892123456789312345678941234567895123456789612345678971234567898 ################################################################################ ## final image ################################################################################ FROM scratch # we put all the source into the final image for posterity, it's small COPY --from=builder /src.tzst /src.tzst COPY --from=builder /build/mfer.cmd /mfer ENTRYPOINT ["/mfer"]