ci: Consistently use -j4 across x86 build jobs and -j8 on ARM.
authorEric Anholt <eric@anholt.net>
Tue, 11 Feb 2020 23:44:56 +0000 (15:44 -0800)
committerMarge Bot <eric+marge@anholt.net>
Wed, 1 Apr 2020 18:33:58 +0000 (18:33 +0000)
commitc1e7e83d52d912b9a1ba5009e8f84d737c1e0d21
tree51ac199fc5eb04d148e5366ebe9c07debd77b293
parent2f424c83e072f6a21d15af1064f6e744e801fbfa
ci: Consistently use -j4 across x86 build jobs and -j8 on ARM.

Our shared runners are set up for concurrent jobs ~= CPUs / 4 (x86) or 8
(ARM).  If you use more build processes than that, then jobs may be
fighting each other for shared system resources, possibly to the point of
failure (we've seen one of the runners OOM on some jobs before, though I'm
not sure if this was the cause).

To try to systematically prevent the problem, we make a ninja wrapper in
the containers that passes the -j flags, and set MAKEFLAGS in the
container builds.  This doesn't cover make in non-container builds, but I
believe we don't have any of those.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3782>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3782>
14 files changed:
.gitlab-ci.yml
.gitlab-ci/build-apitrace.sh
.gitlab-ci/build-cts-runner.sh
.gitlab-ci/build-deqp-vk.sh
.gitlab-ci/build-fossilize.sh
.gitlab-ci/build-gfxreconstruct.sh
.gitlab-ci/build-piglit.sh
.gitlab-ci/build-renderdoc.sh
.gitlab-ci/build-vulkantools.sh
.gitlab-ci/container/arm_build.sh
.gitlab-ci/container/container_pre_build.sh
.gitlab-ci/container/lava_arm.sh
.gitlab-ci/container/x86_build.sh
.gitlab-ci/meson-build.sh