From 97f79e3b2715d78c9342cbb292e1a3e72a23fe62 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Wed, 5 Apr 2023 21:50:28 +0200 Subject: [PATCH] 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 Signed-off-by: Alejandro Colomar --- .github/workflows/static-code-analysis.yml | 5 ++++- .travis.yml | 2 +- share/containers/alpine.dockerfile | 3 ++- share/containers/debian.dockerfile | 3 ++- share/containers/fedora.dockerfile | 3 ++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml index c0741bee..b9cfb4e9 100644 --- a/.github/workflows/static-code-analysis.yml +++ b/.github/workflows/static-code-analysis.yml @@ -32,7 +32,10 @@ jobs: - name: Build shadow-utils run: | PROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN) - make -j$PROCESSORS + make -kj$PROCESSORS || true + + - name: Check build errors + run: make - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 diff --git a/.travis.yml b/.travis.yml index ba09fcea..945fe129 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,7 @@ addons: notification_email: christian.brauner@ubuntu.com,serge@hallyn.com build_command_prepend: "./autogen.sh --without-selinux --disable-man" - build_command: "make -j4" + build_command: "make -kj4 || make" branch_pattern: master script: diff --git a/share/containers/alpine.dockerfile b/share/containers/alpine.dockerfile index d2a1d45d..f09ee19e 100644 --- a/share/containers/alpine.dockerfile +++ b/share/containers/alpine.dockerfile @@ -9,7 +9,8 @@ COPY ./ /usr/local/src/shadow/ WORKDIR /usr/local/src/shadow/ RUN ./autogen.sh --without-selinux --disable-man --disable-nls --with-yescrypt -RUN make -j4 +RUN make -kj4 || true +RUN make RUN make install FROM scratch AS export diff --git a/share/containers/debian.dockerfile b/share/containers/debian.dockerfile index b21430ec..c58e4268 100644 --- a/share/containers/debian.dockerfile +++ b/share/containers/debian.dockerfile @@ -16,7 +16,8 @@ COPY ./ /usr/local/src/shadow/ WORKDIR /usr/local/src/shadow/ RUN ./autogen.sh --without-selinux --enable-man --with-yescrypt -RUN make -j4 +RUN make -kj4 || true +RUN make RUN make install FROM scratch AS export diff --git a/share/containers/fedora.dockerfile b/share/containers/fedora.dockerfile index f7581d8b..85c9e3a8 100644 --- a/share/containers/fedora.dockerfile +++ b/share/containers/fedora.dockerfile @@ -12,7 +12,8 @@ RUN ./autogen.sh --enable-shadowgrp --enable-man --with-audit \ --with-sha-crypt --with-bcrypt --with-yescrypt --with-selinux \ --without-libcrack --without-libpam --enable-shared \ --with-group-name-max-length=32 -RUN make -j4 +RUN make -kj4 || true +RUN make RUN make install FROM scratch AS export