mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
automation: Switch ppc64le tests to PowerNV machine type
Run ppc64le tests with the PowerNV machine type (bare metal) instead of
the paravirtualized pseries machine. This requires a more modern version
of QEMU than is present in debian bullseye's repository, so update the
dockerfile to build QEMU from source.
Support for booting on pseries was broken by 74b725a64d ('xen/ppc:
Implement initial Radix MMU support') which resulted in CI failures. In
preparation for removing pseries support entirely, switch the CI
infrastructure to the PowerNV machine type.
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
0dc838d6ae
commit
2ed144aff1
5 files changed
+59
-5
No files matched your search
@@ -22,8 +22,9 @@ RUN apt-get update && \
|
||||
gcc-powerpc64le-linux-gnu \
|
||||
make \
|
||||
python3-minimal \
|
||||
# for test phase
|
||||
qemu-system-ppc \
|
||||
# QEMU runtime dependencies for test phase
|
||||
libglib2.0-0 \
|
||||
libpixman-1-0 \
|
||||
&& \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
|
||||
@@ -306,6 +306,20 @@ qemu-system-aarch64-6.0.0-arm32-export:
|
||||
tags:
|
||||
- arm64
|
||||
|
||||
# ppc64 test artifacts
|
||||
|
||||
qemu-system-ppc64-8.1.0-ppc64-export:
|
||||
extends: .test-jobs-artifact-common
|
||||
image: registry.gitlab.com/xen-project/xen/tests-artifacts/qemu-system-ppc64:8.1.0-ppc64
|
||||
script:
|
||||
- mkdir binaries && cp /qemu-system-ppc64 /skiboot.lid binaries/
|
||||
artifacts:
|
||||
paths:
|
||||
- binaries/qemu-system-ppc64
|
||||
- binaries/skiboot.lid
|
||||
tags:
|
||||
- x86_64
|
||||
|
||||
# x86_64 test artifacts
|
||||
|
||||
alpine-3.18-rootfs-export:
|
||||
|
||||
@@ -454,9 +454,10 @@ qemu-smoke-riscv64-gcc:
|
||||
needs:
|
||||
- archlinux-current-gcc-riscv64-debug
|
||||
|
||||
qemu-smoke-ppc64le-pseries-gcc:
|
||||
qemu-smoke-ppc64le-powernv9-gcc:
|
||||
extends: .qemu-ppc64le
|
||||
script:
|
||||
- ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
|
||||
- ./automation/scripts/qemu-smoke-ppc64le.sh powernv9 2>&1 | tee ${LOGFILE}
|
||||
needs:
|
||||
- qemu-system-ppc64-8.1.0-ppc64-export
|
||||
- debian-bullseye-gcc-ppc64le-debug
|
||||
@@ -12,7 +12,8 @@ set +e
|
||||
touch smoke.serial
|
||||
|
||||
timeout -k 1 20 \
|
||||
qemu-system-ppc64 \
|
||||
binaries/qemu-system-ppc64 \
|
||||
-bios binaries/skiboot.lid \
|
||||
-M $machine \
|
||||
-m 2g \
|
||||
-smp 1 \
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
FROM debian:bullseye-slim
|
||||
LABEL maintainer.name="The Xen Project" \
|
||||
maintainer.email="xen-devel@lists.xenproject.org"
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV QEMU_VERSION=8.1.0
|
||||
ENV USER root
|
||||
|
||||
RUN mkdir /build
|
||||
WORKDIR /build
|
||||
|
||||
# build depends
|
||||
RUN apt-get update && \
|
||||
apt-get --quiet --yes install \
|
||||
build-essential \
|
||||
curl \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-elementpath \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libglib2.0-dev \
|
||||
libpixman-1-dev \
|
||||
&& \
|
||||
\
|
||||
curl -fsSLO https://download.qemu.org/qemu-"$QEMU_VERSION".tar.xz && \
|
||||
tar xvJf qemu-"$QEMU_VERSION".tar.xz && \
|
||||
cd qemu-"$QEMU_VERSION" && \
|
||||
./configure --target-list=ppc64-softmmu && \
|
||||
make -j$(nproc) && \
|
||||
cp ./build/qemu-system-ppc64 / && \
|
||||
cp ./build/qemu-bundle/usr/local/share/qemu/skiboot.lid / && \
|
||||
cd /build && \
|
||||
rm -rf qemu-"$QEMU_VERSION"* && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
|
||||