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:
Shawn Anastasio authored and Stefano Stabellini committed 2023-09-07 17:37:34 -07:00
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 && \
+14
View File
@@ -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:
+3 -2
View File
@@ -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
+2 -1
View File
@@ -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/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.