From 6ce9d78b0464e3c10de137aef0291b73753b8f1f Mon Sep 17 00:00:00 2001
From: Esben Haabendal <esben.haabendal@huawei.com>
Date: Tue, 12 Jul 2022 11:57:54 +0200
Subject: [PATCH] CI: Improve parallel jobs handling

This will make make and ninja builds also respect the value set by
$CI_ONIRO_NUM_CPU variable, and apply a sane default using the nproc shell
command.

Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
---
 .gitlab-ci.yml | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1b6b2bbb..9fad6418 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -145,10 +145,11 @@ stages:
         echo "SSTATE_MIRRORS = \"file://.* file://$SSTATE_MIRROR_PATH/PATH\""
           >> conf/auto.conf ;
       fi
-    - if [ -n "$CI_ONIRO_NUM_CPUS" ] ; then
-        echo "BB_NUMBER_THREADS = \"$CI_ONIRO_NUM_CPUS\"" ;
-        echo "BB_NUMBER_PARSE_THREADS = \"$CI_ONIRO_NUM_CPUS\"" ;
-      fi >> conf/auto.conf
+    - NUM_CPUS="${CI_ONIRO_NUM_CPUS:-$(nproc)}"
+    - echo "BB_NUMBER_PARSE_THREADS = \"$NUM_CPUS\"" >> conf/auto.conf
+    - echo "BB_NUMBER_THREADS = \"$((NUM_CPUS/2))\"" >> conf/auto.conf
+    - echo "PARALLEL_MAKE = \"-j$NUM_CPUS\"" >> conf/auto.conf
+    - echo "NINJA_ARGS:append = \" -j$NUM_CPUS\"" >> conf/auto.conf
     - echo "RM_WORK_EXCLUDE += \"${RECIPE}\"" >> conf/auto.conf
     - echo "OPENHARMONY_VERSION = \"${OPENHARMONY_VERSION}\"" >> conf/auto.conf
   script:
-- 
GitLab