]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
ci/run.sh: parameterize BUILD_JOBS TEST_JOBS and TEST_TARGET
authorEric Wong <e@80x24.org>
Sat, 9 Sep 2023 12:01:37 +0000 (12:01 +0000)
committerEric Wong <e@80x24.org>
Sat, 9 Sep 2023 21:31:55 +0000 (21:31 +0000)
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

index 9613943ba4a6ffe2379b76e326e0d8ef6e715255..1faf92c2d7805fb059a52a4e9eb17ff0eeed716f 100755 (executable)
--- a/ci/run.sh
+++ b/ci/run.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # 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