From c36243fd34b4da81b2929cd1b6a092178d334734 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: Attempt to throttle load caused builds better Use the support that both make and ninja have to hold back on starting new parallel jobs if load is higher than a set number. Use the $CI_ONIRO_NUM_CPUS variable if set, or the output of nproc command to set sane values. For most cases, this means that CI runners don't have to set anything, as nproc output should be fine. 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 0ba1c1e3..06640ee8 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 -l$NUM_CPUS\"" >> conf/auto.conf + - echo "NINJA_ARGS:append = \" -j$NUM_CPUS -l$NUM_CPUS\"" >> conf/auto.conf - echo "RM_WORK_EXCLUDE += \"${RECIPE}\"" >> conf/auto.conf - echo "OPENHARMONY_VERSION = \"${OPENHARMONY_VERSION}\"" >> conf/auto.conf script: -- GitLab