diff mbox series

[for-4.15] automation: allow doing hypervisor only builds

Message ID 20210303143316.16840-1-roger.pau@citrix.com (mailing list archive)
State New
Headers show
Series [for-4.15] automation: allow doing hypervisor only builds | expand

Commit Message

Roger Pau Monné March 3, 2021, 2:33 p.m. UTC
For things like randconfig there's no need to do a full Xen build, a
hypervisor build only will be much faster and will achieve the same
level of testing, as randconfig only changes the hypervisor build
options.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Cc: Ian Jackson <iwj@xenproject.org>
I think it might be good to get this in ASAP in order to reduce the
load of the gitlab CI loop.

Release wise the worse that could happen is that gitlab testing is
broken by this, but I've already done a run myself:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/264757821
---
 automation/scripts/build | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

Comments

Ian Jackson March 3, 2021, 2:47 p.m. UTC | #1
Roger Pau Monne writes ("[PATCH for-4.15] automation: allow doing hypervisor only builds"):
> For things like randconfig there's no need to do a full Xen build, a
> hypervisor build only will be much faster and will achieve the same
> level of testing, as randconfig only changes the hypervisor build
> options.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Cc: Ian Jackson <iwj@xenproject.org>
> I think it might be good to get this in ASAP in order to reduce the
> load of the gitlab CI loop.
> 
> Release wise the worse that could happen is that gitlab testing is
> broken by this, but I've already done a run myself:

Release-Acked-by: Ian Jackson <iwj@xenproject.org>
Doug Goldstein March 11, 2021, 3:36 p.m. UTC | #2
On 3/3/21 8:33 AM, Roger Pau Monne wrote:
> For things like randconfig there's no need to do a full Xen build, a
> hypervisor build only will be much faster and will achieve the same
> level of testing, as randconfig only changes the hypervisor build
> options.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
Acked-by: Doug Goldstein <cardoe@cardoe.com>
diff mbox series

Patch

diff --git a/automation/scripts/build b/automation/scripts/build
index 87e44bb940..1b752edfe6 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -11,6 +11,7 @@  cc-ver()
 # random config or default config
 if [[ "${RANDCONFIG}" == "y" ]]; then
     make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
+    hypervisor_only="y"
 else
     make -j$(nproc) -C xen defconfig
 fi
@@ -45,16 +46,27 @@  if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
     cfgargs+=("--with-system-seabios=/bin/false")
 fi
 
-./configure "${cfgargs[@]}"
-
-make -j$(nproc) dist
+if [[ "${hypervisor_only}" == "y" ]]; then
+    make -j$(nproc) xen
+else
+    ./configure "${cfgargs[@]}"
+    make -j$(nproc) dist
+fi
 
 # Extract artifacts to avoid getting rewritten by customised builds
 cp xen/.config xen-config
 mkdir binaries
 if [[ "${XEN_TARGET_ARCH}" != "x86_32" ]]; then
     cp xen/xen binaries/xen
-    cp -r dist binaries/
+    if [[ "${hypervisor_only}" != "y" ]]; then
+        cp -r dist binaries/
+    fi
+fi
+
+if [[ "${hypervisor_only}" == "y" ]]; then
+    # If we are build testing a specific Kconfig exit now, there's no point in
+    # testing all the possible configs.
+    exit 0
 fi
 
 # Build all the configs we care about