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

Roger Pau Monne posted 1 patch 3 years, 1 month ago
Test gitlab-ci passed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20210303143316.16840-1-roger.pau@citrix.com
automation/scripts/build | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
[PATCH for-4.15] automation: allow doing hypervisor only builds
Posted by Roger Pau Monne 3 years, 1 month ago
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(-)

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
-- 
2.30.1


Re: [PATCH for-4.15] automation: allow doing hypervisor only builds
Posted by Ian Jackson 3 years, 1 month ago
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>

Re: [PATCH for-4.15] automation: allow doing hypervisor only builds
Posted by Doug Goldstein 3 years, 1 month ago
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>