- Resolve merge conflicts (README.md, TODO.md, go.mod) keeping next's versions - Rewrite Dockerfile: replace sneak/builder:2022-12-08 (Go 1.19) with golang@sha256-pinned (Go 1.23), add golangci-lint for future use - Remove references to deleted vendor.tzst, modcache.tzst - Simplify to standard multi-stage build: check + build + scratch final image - Keep module path sneak.berlin/go/mfer from next branch - Add Makefile targets: check, fmt-check, hooks (per REPO_POLICIES) - Pin golangci-lint@v2.0.2 in devprereqs - Dockerfile version/date comment on pinned image hash - make check runs test + fmt-check (lint deferred to follow-up issue)
19 lines
668 B
Docker
19 lines
668 B
Docker
# golangci/golangci-lint:v2.0.2 (2026-03-14)
|
|
FROM golangci/golangci-lint@sha256:d55581f7797e7a0877a7c3aaa399b01bdc57d2874d6412601a046cc4062cb62e AS lint-bin
|
|
|
|
# golang:1.23 (2026-03-14)
|
|
FROM golang@sha256:60deed95d3888cc5e4d9ff8a10c54e5edc008c6ae3fba6187be6fb592e19e8c0 AS builder
|
|
COPY --from=lint-bin /usr/bin/golangci-lint /usr/local/bin/golangci-lint
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
# Touch .pb.go so make does not try to regenerate via protoc (file is committed)
|
|
RUN touch mfer/mf.pb.go
|
|
RUN make check
|
|
RUN cd cmd/mfer && go build -tags urfave_cli_no_docs -o /mfer .
|
|
|
|
FROM scratch
|
|
COPY --from=builder /mfer /mfer
|
|
ENTRYPOINT ["/mfer"]
|