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>
26 lines
563 B
Docker
26 lines
563 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
ARG ALPINE_VERSION=3.18
|
|
|
|
FROM alpine:${ALPINE_VERSION} AS gen
|
|
RUN apk add --no-cache bash git
|
|
WORKDIR /src
|
|
RUN --mount=type=bind,target=. \
|
|
mkdir /out && ./scripts/docs/generate-authors.sh /out
|
|
|
|
FROM scratch AS update
|
|
COPY --from=gen /out /
|
|
|
|
FROM gen AS validate
|
|
RUN --mount=type=bind,target=.,rw <<EOT
|
|
set -e
|
|
git add -A
|
|
cp -rf /out/* .
|
|
diff=$(git status --porcelain -- AUTHORS)
|
|
if [ -n "$diff" ]; then
|
|
echo >&2 'ERROR: Authors result differs. Please update with "make -f docker.Makefile authors"'
|
|
echo "$diff"
|
|
exit 1
|
|
fi
|
|
EOT
|