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