This also moves `musl-dev` to the alpine-base stage, due to changes in
Alpine 3.18 causing gotestsum build to fail because stdlib.h was missing;
#17 5.065 # runtime/cgo
#17 5.065 In file included from _cgo_export.c:3:
#17 5.065 /usr/include/fortify/stdlib.h:23:15: fatal error: stdlib.h: No such file or directory
#17 5.065 23 | #include_next <stdlib.h>
#17 5.065 | ^~~~~~~~~~
alpine 3.17:
/ # find / | grep stdlib.h
/usr/include/c++/12.2.1/tr1/stdlib.h
/usr/include/c++/12.2.1/stdlib.h
alpine 3.18
/ # find / | grep stdlib.h
/usr/lib/llvm16/lib/clang/16/include/__clang_hip_stdlib.h
/usr/include/fortify/stdlib.h
/usr/include/c++/12.2.1/tr1/stdlib.h
/usr/include/c++/12.2.1/stdlib.h
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
19 lines
540 B
Docker
19 lines
540 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG GO_VERSION=1.21.3
|
|
ARG ALPINE_VERSION=3.18
|
|
ARG GOLANGCI_LINT_VERSION=v1.55.2
|
|
|
|
FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint
|
|
|
|
FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS lint
|
|
ENV GOTOOLCHAIN=local
|
|
ENV GO111MODULE=off
|
|
ENV CGO_ENABLED=0
|
|
ENV GOGC=75
|
|
WORKDIR /go/src/github.com/docker/cli
|
|
COPY --link --from=golangci-lint /usr/bin/golangci-lint /usr/bin/golangci-lint
|
|
RUN --mount=type=bind,target=. \
|
|
--mount=type=cache,target=/root/.cache \
|
|
golangci-lint run
|