]> xenbits.xensource.com Git - xen.git/commitdiff
CI: Stop building QEMU in general
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sat, 13 Jul 2024 16:50:30 +0000 (17:50 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 11 Nov 2024 18:16:35 +0000 (18:16 +0000)
We spend an awful lot of CI time building QEMU, even though most changes don't
touch the subset of tools/libs/ used by QEMU.  Some numbers taken at a time
when CI was otherwise quiet:

                       With     Without
  Alpine:              13m38s   6m04s
  Debian 12:           10m05s   8m10s
  OpenSUSE Tumbleweed: 11m40s   7m54s
  Ubuntu 24.04:        14m56s   8m06s

which is a >50% improvement in wallclock time in some cases.

The only build we have that needs QEMU is alpine-3.18-gcc-debug.  This is the
build deployed and used by the QubesOS ADL-* and Zen3p-* jobs.

Xilinx-x86_64 deploys it too, but is PVH-only and doesn't use QEMU.

QEMU is also built by CirrusCI for FreeBSD (fully Clang/LLVM toolchain).

This should help quite a lot with Gitlab CI capacity.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(cherry picked from commit e305256e69b1c943db3ca20173da6ded3db2d252)

automation/gitlab-ci/build.yaml
automation/scripts/build

index 09895d1fbd20f32a2a2a38c2dbf44ac33bd9d83c..6342a025aca2025ab2ab8ea1aa5c9fcbb3f23ad9 100644 (file)
@@ -339,6 +339,7 @@ alpine-3.18-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
     CONTAINER: alpine:3.18
+    BUILD_QEMU_XEN: y
 
 debian-bookworm-gcc-debug:
   extends: .gcc-x86-64-build-debug
index 1879c1db6d0dc9ad8b12db356abd7d7c8bee0804..952599cc25c2558204ecdb5061d331c70b96dcb8 100755 (executable)
@@ -91,11 +91,8 @@ else
         cfgargs+=("--with-extra-qemuu-configure-args=\"--disable-werror\"")
     fi
 
-    # Qemu requires Python 3.5 or later, and ninja
-    # and Clang 10 or later
-    if ! type python3 || python3 -c "import sys; res = sys.version_info < (3, 5); exit(not(res))" \
-            || [[ "$cc_is_clang" == y && "$cc_ver" -lt 0x0a0000 ]] \
-            || ! type ninja; then
+    # QEMU is only for those who ask
+    if [[ "$BUILD_QEMU_XEN" != "y" ]]; then
         cfgargs+=("--with-system-qemu=/bin/false")
     fi