shadow/share/containers/alpine.dockerfile
Alejandro Colomar 97f79e3b27 CI: Make build logs more readable
If make fails in a multi-process invocation, the log is pretty much
unreadable.  To make it readable, build as much as can be built without
failing.  Then run a single-process make again.  If we succeeded
previously, this should be a no-op.  If not, this run will stop at the
first error, which should be more readable, and will only print the few
lines we're interested in.

This has some side effects:  Now we build as much as we can, instead of
failing as early as possible; this may make CI a bit slower.  However,
it also has the benefit that you see _all_ the error messages that could
be given, instead of needing to fix the first error to see the next and
so on.

Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-04-18 09:21:09 +02:00

19 lines
493 B
Docker

ARG OS_IMAGE="alpine:latest"
FROM "${OS_IMAGE}" AS build
RUN apk add autoconf automake build-base byacc expect gettext-dev git \
libbsd-dev libeconf-dev libtool libxslt pkgconf
COPY ./ /usr/local/src/shadow/
WORKDIR /usr/local/src/shadow/
RUN ./autogen.sh --without-selinux --disable-man --disable-nls --with-yescrypt
RUN make -kj4 || true
RUN make
RUN make install
FROM scratch AS export
COPY --from=build /usr/local/src/shadow/config.log \
/usr/local/src/shadow/config.h ./