|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2] automation: add a QEMU aarch64 smoke test
On Fri, 13 Nov 2020, Stefano Stabellini wrote:
> Use QEMU to start Xen (just the hypervisor) up until it stops because
> there is no dom0 kernel to boot.
>
> It is based on the existing build job unstable-arm64v8.
>
> Also use make -j$(nproc) to build Xen.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
> ---
> automation/gitlab-ci/test.yaml | 22 ++++++++++++++++++
> automation/scripts/build | 8 +++----
> automation/scripts/qemu-smoke-arm64.sh | 32 ++++++++++++++++++++++++++
> 3 files changed, 57 insertions(+), 5 deletions(-)
> create mode 100755 automation/scripts/qemu-smoke-arm64.sh
>
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 793feafe8b..35346e3f6e 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -22,6 +22,28 @@ build-each-commit-gcc:
> - /^coverity-tested\/.*/
> - /^stable-.*/
>
> +qemu-smoke-arm64-gcc:
> + stage: test
> + image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> + variables:
> + CONTAINER: debian:unstable-arm64v8
> + script:
> + - ./automation/scripts/qemu-smoke-arm64.sh 2>&1 | tee
> qemu-smoke-arm64.log
> + dependencies:
> + - debian-unstable-gcc-arm64
> + artifacts:
> + paths:
> + - smoke.serial
> + - '*.log'
> + when: always
> + tags:
> + - arm64
> + except:
> + - master
> + - smoke
> + - /^coverity-tested\/.*/
> + - /^stable-.*/
> +
> qemu-smoke-x86-64-gcc:
> stage: test
> image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> diff --git a/automation/scripts/build b/automation/scripts/build
> index 0cd0f3971d..95ad23eadb 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -10,9 +10,9 @@ cc-ver()
>
> # random config or default config
> if [[ "${RANDCONFIG}" == "y" ]]; then
> - make -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
> + make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config
> randconfig
> else
> - make -C xen defconfig
> + make -j$(nproc) -C xen defconfig
> fi
>
> # build up our configure options
> @@ -45,9 +45,7 @@ make -j$(nproc) dist
> # Extract artifacts to avoid getting rewritten by customised builds
> cp xen/.config xen-config
> mkdir binaries
> -if [[ "${XEN_TARGET_ARCH}" == "x86_64" ]]; then
> - cp xen/xen binaries/xen
> -fi
> +cp xen/xen binaries/xen
This was a mistake, it should have been:
if [[ "${XEN_TARGET_ARCH}" != "x86_32" ]]; then
cp xen/xen binaries/xen
fi
Unrelated: should we temporarely disable the stubdom build
(--disable-stubdom) in the gitlab build? (Even better if somebody
volunteers to fix the stubdom build somehow.) At the moment a bunch of
jobs are failing with:
mini-os.c: In function 'main':
mini-os.c:756: warning: cast from pointer to integer of different size
ar: creating
/builds/xen-project/people/sstabellini/xen/stubdom/mini-os-x86_64-xenstorepvh/arch/x86/libx86_64.a
/builds/xen-project/people/sstabellini/xen/stubdom/mini-os-x86_64-xenstorepvh/mini-os.o:
could not read symbols: File in wrong format
make[2]: ***
[/builds/xen-project/people/sstabellini/xen/stubdom/mini-os-x86_64-xenstorepvh/mini-os]
Error 1
make[1]: *** [xenstorepvh-stubdom] Error 2
make[1]: *** Waiting for unfinished jobs....
With the above x86_32 fix, stubdoms disabled, all jobs (including the
new aarch64 smoke test) complete successfully.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |