Parallezing BUILD_JOBS is usually harmless, but TEST_JOBS can
be problematic when tracking down problems on new platforms.
TEST_TARGET can be `check' or `check-run' for performance.
---
 ci/run.sh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ci/run.sh b/ci/run.sh
index 9613943b..1faf92c2 100755
--- a/ci/run.sh
+++ b/ci/run.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2019-2021 all contributors <[email protected]>
+# Copyright (C) all contributors <[email protected]>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 set -e
 SUDO=${SUDO-'sudo'} PERL=${PERL-'perl'} MAKE=${MAKE-'make'}
@@ -8,14 +8,16 @@ DO=${DO-''}
 set -x
 if test -f Makefile
 then
-       $DO $MAKE clean
+       $DO $MAKE clean >/dev/null
 fi
+NPROC=${NPROC-$({ getconf _NPROCESSORS_ONLN || getconf NPROCESSORS_ONLN ||
+       gnproc || nproc || echo 2; } 2>/dev/null)}
 
 ./ci/profiles.sh | while read args
 do
        $DO $SUDO $PERL -w ci/deps.perl $args
        $DO $PERL Makefile.PL
-       $DO $MAKE
-       $DO $MAKE check
-       $DO $MAKE clean
+       $DO $MAKE -j${BUILD_JOBS-$NPROC}
+       $DO $MAKE -j${TEST_JOBS-1} ${TEST_TARGET-test}
+       $DO $MAKE clean >/dev/null
 done

Reply via email to