From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Pierrick Bouvier <pierrick.bouvier@linaro.org>
Subject: [PULL 43/44] .gitlab-ci.d: Split build and test in cross build job templates
Date: Wed, 25 Sep 2024 13:10:24 +0200 [thread overview]
Message-ID: <20240925111029.24082-44-thuth@redhat.com> (raw)
In-Reply-To: <20240925111029.24082-1-thuth@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
In the native_build_job_template we have separate steps in the script
for the build and the test steps. This is helpful because then
gitlab will give separate timestamps in the log view for each, and
you can see how long it took to compile vs how long to test. In the
templates in crossbuild-template.yml, however, we do both the build
and test in a single 'make' invocation, and so we don't get the
separate timing information.
Split the build and test, in the same way we do in the native build
template.
This will also give us a place to separate out how parallel we want
to do the build by default from how parallel we want to do the tests
by default, which might be helpful in future.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240918125449.3125571-2-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuild-template.yml | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
index 2ce0432eb7..d1cb7a35db 100644
--- a/.gitlab-ci.d/crossbuild-template.yml
+++ b/.gitlab-ci.d/crossbuild-template.yml
@@ -9,6 +9,7 @@
when: always
timeout: 80m
before_script:
+ - JOBS=$(expr $(nproc) + 1)
- cat /packages.txt
script:
- export CCACHE_BASEDIR="$(pwd)"
@@ -24,7 +25,11 @@
i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"
- - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
+ - make -j"$JOBS" all check-build
+ - if test -n "$MAKE_CHECK_ARGS";
+ then
+ $MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
+ fi
- if grep -q "EXESUF=.exe" config-host.mak;
then make installer;
version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)";
@@ -46,6 +51,8 @@
paths:
- ccache/
key: "$CI_JOB_NAME"
+ before_script:
+ - JOBS=$(expr $(nproc) + 1)
script:
- export CCACHE_BASEDIR="$(pwd)"
- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
@@ -55,7 +62,11 @@
- cd build
- ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
--disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS
- - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
+ - make -j"$JOBS" all check-build
+ - if test -n "$MAKE_CHECK_ARGS";
+ then
+ $MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
+ fi
.cross_user_build_job:
extends: .base_job_template
@@ -65,6 +76,8 @@
paths:
- ccache/
key: "$CI_JOB_NAME"
+ before_script:
+ - JOBS=$(expr $(nproc) + 1)
script:
- export CCACHE_BASEDIR="$(pwd)"
- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
@@ -76,7 +89,11 @@
alpha-linux-user m68k-linux-user microblazeel-linux-user
or1k-linux-user ppc-linux-user sparc-linux-user
xtensa-linux-user $CROSS_SKIP_TARGETS"
- - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
+ - make -j"$JOBS" all check-build
+ - if test -n "$MAKE_CHECK_ARGS";
+ then
+ $MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
+ fi
# We can still run some tests on some of our cross build jobs. They can add this
# template to their extends to save the build logs and test results
--
2.46.0
next prev parent reply other threads:[~2024-09-25 11:16 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-25 11:09 [PULL 00/44] Functional test conversion, and assert(0) cleanup Thomas Huth
2024-09-25 11:09 ` [PULL 01/44] tests/functional/qemu_test: Add a function for launching kernels more easily Thomas Huth
2024-09-25 11:09 ` [PULL 02/44] tests/functional: Convert the vexpressa9 Avocado test Thomas Huth
2024-09-30 16:47 ` Peter Maydell
2024-09-30 17:21 ` Thomas Huth
2024-09-25 11:09 ` [PULL 03/44] tests/functional: Convert the xtensa lx60 " Thomas Huth
2024-09-25 11:09 ` [PULL 04/44] tests/functional: Convert the SPARCStation " Thomas Huth
2024-09-25 11:09 ` [PULL 05/44] tests/functional: Convert the e500 ppc64 " Thomas Huth
2024-09-25 11:09 ` [PULL 06/44] tests/functional: Convert the mac ppc Avocado tests Thomas Huth
2024-09-25 11:09 ` [PULL 07/44] tests/functional: Convert the r2d sh4 Avocado test Thomas Huth
2024-09-25 11:09 ` [PULL 08/44] tests/functional: Convert the powernv tests from boot_linux_console.py Thomas Huth
2024-09-25 11:09 ` [PULL 09/44] hw/acpi: replace assert(0) with g_assert_not_reached() Thomas Huth
2024-09-25 11:09 ` [PULL 10/44] hw/arm: " Thomas Huth
2024-09-25 11:09 ` [PULL 11/44] hw/net: " Thomas Huth
2024-09-25 11:09 ` [PULL 12/44] migration: " Thomas Huth
2024-09-25 11:09 ` [PULL 13/44] qobject: " Thomas Huth
2024-09-25 11:09 ` [PULL 14/44] target/ppc: " Thomas Huth
2024-09-25 11:09 ` [PULL 15/44] block: replace assert(false) " Thomas Huth
2024-09-25 11:09 ` [PULL 16/44] hw/hyperv: " Thomas Huth
2024-09-25 11:09 ` [PULL 17/44] hw/net: " Thomas Huth
2024-09-25 11:09 ` [PULL 18/44] hw/nvme: " Thomas Huth
2024-09-25 11:10 ` [PULL 19/44] hw/pci: " Thomas Huth
2024-09-25 11:10 ` [PULL 20/44] hw/ppc: " Thomas Huth
2024-09-25 11:10 ` [PULL 21/44] migration: " Thomas Huth
2024-09-25 11:10 ` [PULL 22/44] target/i386/kvm: " Thomas Huth
2024-09-25 11:10 ` [PULL 23/44] accel/tcg: remove break after g_assert_not_reached() Thomas Huth
2024-09-25 11:10 ` [PULL 24/44] block: " Thomas Huth
2024-09-25 11:10 ` [PULL 25/44] hw/acpi: " Thomas Huth
2024-09-25 11:10 ` [PULL 26/44] hw/net: " Thomas Huth
2024-09-25 11:10 ` [PULL 27/44] hw/scsi: " Thomas Huth
2024-09-25 11:10 ` [PULL 28/44] hw/tpm: " Thomas Huth
2024-09-25 11:10 ` [PULL 29/44] target/arm: " Thomas Huth
2024-09-25 11:10 ` [PULL 30/44] target/riscv: " Thomas Huth
2024-09-25 11:10 ` [PULL 31/44] fpu: " Thomas Huth
2024-09-25 11:10 ` [PULL 32/44] tcg/loongarch64: " Thomas Huth
2024-09-25 11:10 ` [PULL 33/44] include/qemu: remove return " Thomas Huth
2024-09-25 11:10 ` [PULL 34/44] hw/hyperv: " Thomas Huth
2024-09-25 11:10 ` [PULL 35/44] hw/net: " Thomas Huth
2024-09-25 11:10 ` [PULL 36/44] hw/pci: " Thomas Huth
2024-09-25 11:10 ` [PULL 37/44] hw/ppc: " Thomas Huth
2024-09-25 11:10 ` [PULL 38/44] migration: " Thomas Huth
2024-09-25 11:10 ` [PULL 39/44] qobject: " Thomas Huth
2024-09-25 11:10 ` [PULL 40/44] qom: " Thomas Huth
2024-09-25 11:10 ` [PULL 41/44] tests/qtest: " Thomas Huth
2024-09-25 11:10 ` [PULL 42/44] scripts/checkpatch.pl: emit error when using assert(false) Thomas Huth
2024-09-25 11:10 ` Thomas Huth [this message]
2024-09-25 11:10 ` [PULL 44/44] .gitlab-ci.d: Make separate collapsible log sections for build and test Thomas Huth
2024-09-25 17:24 ` [PULL 00/44] Functional test conversion, and assert(0) cleanup Pierrick Bouvier
2024-09-28 13:37 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240925111029.24082-44-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).