[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging-4.18] CI: Stop building QEMU in general



commit eecb33b3bf114089557aadbbe3fe7d8f9687f3d5
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Sat Jul 13 17:50:30 2024 +0100
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Tue Nov 12 11:07:29 2024 +0000

    CI: Stop building QEMU in general
    
    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@xxxxxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    (cherry picked from commit e305256e69b1c943db3ca20173da6ded3db2d252)
---
 automation/gitlab-ci/build.yaml | 1 +
 automation/scripts/build        | 7 ++-----
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 3f82e2109b..201acbbffd 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -357,6 +357,7 @@ alpine-3.18-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
     CONTAINER: alpine:3.18
+    BUILD_QEMU_XEN: y
 
 debian-stretch-gcc-debug:
   extends: .gcc-x86-64-build-debug
diff --git a/automation/scripts/build b/automation/scripts/build
index b3c71fb6fb..b90a7ff980 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -80,11 +80,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
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.18



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.