All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH for-4.15] automation: allow doing hypervisor only builds
Date: Wed,  3 Mar 2021 15:33:16 +0100	[thread overview]
Message-ID: <20210303143316.16840-1-roger.pau@citrix.com> (raw)

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



             reply	other threads:[~2021-03-03 14:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 14:33 Roger Pau Monne [this message]
2021-03-03 14:47 ` [PATCH for-4.15] automation: allow doing hypervisor only builds Ian Jackson
2021-03-11 15:36 ` Doug Goldstein

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=20210303143316.16840-1-roger.pau@citrix.com \
    --to=roger.pau@citrix.com \
    --cc=cardoe@cardoe.com \
    --cc=iwj@xenproject.org \
    --cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.