From 8387863ace65c8a65ab7f0f71ffa65553f41273e Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sun, 20 Aug 2023 16:30:08 -0600 Subject: [PATCH] util/testing: Add a few build tests using all cores We've had issues in the past where building with a sufficient number of processors would expose a previously hidden timing issue in the build. Those have frequently been in the path of a single chip or architecture, so this adds a few different builds. I'd like to have a representative sampling without increasing the build time too much so maybe in the future, we can modify the clang build targets to be different than the GCC targets. These can be updated to different targets over time. Signed-off-by: Martin Roth Change-Id: I51e39bc1ce6b9b7c257d0170ce3d2b5ab99d35df Reviewed-on: https://review.coreboot.org/c/coreboot/+/77329 Tested-by: build bot (Jenkins) Reviewed-by: Felix Singer --- util/testing/Makefile.inc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/util/testing/Makefile.inc b/util/testing/Makefile.inc index 4bc4cdf33c..c73502e9bc 100644 --- a/util/testing/Makefile.inc +++ b/util/testing/Makefile.inc @@ -120,10 +120,22 @@ ifneq ($(JENKINS_SKIP_SCANBUILD_TEST),y) NAME=scanbuild; SCANBUILD_ARGS='-k -plist-html -maxloop 10' util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) --scan-build --target EMULATION_QEMU_X86_Q35 --exitcode --name $${NAME} endif ifneq ($(JENKINS_SKIP_GCC_TESTS),y) +ifneq ($(JENKINS_SKIP_ALLTHREAD_TEST),y) + NAME=emu_gcc_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --name $${NAME} --target EMULATION_QEMU_X86_Q35 -b EMULATION_QEMU_X86_Q35 --exitcode --clean + NAME=amd_gcc_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --name $${NAME} --target GOOGLE_SKYRIM -b GOOGLE_SKYRIM --exitcode --clean + NAME=intel_gcc_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --name $${NAME} --target GOOGLE_REX0 -b GOOGLE_REX0 --exitcode --clean + NAME=mediatek_gcc_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --name $${NAME} --target GOOGLE_CHERRY -b GOOGLE_CHERRY --exitcode --clean +endif NAME=gcc-chromeos; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) -x --name $${NAME} --clean NAME=gcc; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --name $${NAME} --clean-somewhat endif ifneq ($(JENKINS_SKIP_CLANG_TESTS),y) +ifneq ($(JENKINS_SKIP_ALLTHREAD_TEST),y) + NAME=emu_clang_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --clang --name $${NAME} --target EMULATION_QEMU_X86_Q35 -b EMULATION_QEMU_X86_Q35 --exitcode --clean + NAME=amd_clang_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --clang --name $${NAME} --target GOOGLE_SKYRIM -b GOOGLE_SKYRIM --exitcode --clean + NAME=intel_clang_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --clang --name $${NAME} --target GOOGLE_REX0 -b GOOGLE_REX0 --exitcode --clean + NAME=mediatek_clang_allthreads; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) --clang --name $${NAME} --target GOOGLE_CHERRY -b GOOGLE_CHERRY --exitcode --clean +endif NAME=clang-chromeos; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) -L -x --name $${NAME} --clean NAME=clang; util/abuild/abuild -o $(COREBOOT_BUILD_DIR)/$${NAME} $(ABUILD_OPTIONS) $(CCACHE_OPTIONS) -L --name $${NAME} --clean endif