]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
CI: Make build logs more readable
authorAlejandro Colomar <alx@kernel.org>
Wed, 5 Apr 2023 19:50:28 +0000 (21:50 +0200)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Tue, 18 Apr 2023 07:21:09 +0000 (09:21 +0200)
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>
.github/workflows/static-code-analysis.yml
.travis.yml
share/containers/alpine.dockerfile
share/containers/debian.dockerfile
share/containers/fedora.dockerfile

index c0741bee103e64f3bc92a0b59a5d90a1b74fdc34..b9cfb4e9da4389cd03afaa89f82d27b95385ad0d 100644 (file)
@@ -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
index ba09fcea5303654730b3dcde10ba3b12a32331ce..945fe129973a39e581e5547400268d5a540afb0b 100644 (file)
@@ -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:
index d2a1d45db584094f3873427d80cecdbfdd75ea80..f09ee19ecf6cfcf6ff27ec7153777d50fcd42c18 100644 (file)
@@ -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
index b21430ec843b02d1397dbaeb36c05b23424cc187..c58e42687e205f18fc67656d86613fb46f08d1f9 100644 (file)
@@ -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
index f7581d8b7c8ed42276d0903a7b65978ff5eb79c4..85c9e3a85c2bb2e7f14d3e56e66d243a2908ec47 100644 (file)
@@ -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