From 8503494bd4439171fef969f0f4b2354b703f2253 Mon Sep 17 00:00:00 2001 From: Esben Haabendal <esben.haabendal@huawei.com> Date: Thu, 14 Jul 2022 17:00:51 +0200 Subject: [PATCH] CI: Add support for $CI_ONIRO_PARALLEL_BUILD_MAX_LOADAVG This introduces support for new variable to be set by gitlab-runner. It should be set to the load average that parallel builds should try to not go above. Build tools such as make and ninja is expected to not spawn no jobs if/when load average is higher than this number. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> --- .gitlab-ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f92ed9b4..9769b00d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -154,6 +154,11 @@ stages: - echo "BB_NUMBER_THREADS = \"$MAX_JOBS\"" >> conf/auto.conf - echo "PARALLEL_MAKE = \"-j$MAX_JOBS\"" >> conf/auto.conf - echo "NINJA_ARGS:append = \" -j$MAX_JOBS\"" >> conf/auto.conf + - MAX_LOADAVG="${CI_ONIRO_PARALLEL_BUILD_MAX_LOADAVG}" + - if [ -n "$MAX_LOADAVG" ] ; then + echo "PARALLEL_MAKE += \"-l$MAX_LOADAVG\"" ; + echo "NINJA_ARGS:append = \" -l$MAX_LOADAVG\"" ; + fi >> conf/auto.conf - echo "RM_WORK_EXCLUDE += \"${RECIPE}\"" >> conf/auto.conf - echo "OPENHARMONY_VERSION = \"${OPENHARMONY_VERSION}\"" >> conf/auto.conf script: @@ -433,6 +438,10 @@ ohos: - ./oniro/setup.sh - MAX_JOBS="${CI_ONIRO_PARALLEL_BUILD_MAX_JOBS:-$(nproc)}" - NINJA_ARGS="--ninja-args -j$MAX_JOBS" + - MAX_LOADAVG="${CI_ONIRO_PARALLEL_BUILD_MAX_LOADAVG}" + - if [ -n "$MAX_LOADAVG" ] ; then + NINJA_ARGS+=" --ninja-args -l$MAX_LOADAVG" ; + fi - ./build.sh --product-name Hi3516DV300 $NINJA_ARGS # Job for triggering a prune of the sstate-cache mirror in runner persistent -- GitLab