# The formatting check, the tests and the build. Linting is not here: # it runs in its own pinned image, see Dockerfile.lint and script/lint, # which script/cibuild runs before this file. # golang:1.26-alpine, 2026-09-07 FROM golang@sha256:ce864e7223ac17b1775e6fd0b4c0db580c2eb50e7953a427916379e4b92a1628 AS builder RUN apk add --no-cache make git WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN make fmt-check RUN make test RUN make build # alpine:3.23, 2026-09-07 FROM alpine@sha256:fd791d74b68913cbb027c6546007b3f0d3bc45125f797758156952bc2d6daf40 COPY --from=builder /src/keyfunc /usr/local/bin/keyfunc ENTRYPOINT ["keyfunc"]