diff mbox series

[08/12] CI: Use debian:12-ppc64le for both build and test

Message ID 20240711111517.3064810-9-andrew.cooper3@citrix.com (mailing list archive)
State New
Headers show
Series CI: part 3 (slimline, and PPC/RISCV fixes) | expand

Commit Message

Andrew Cooper July 11, 2024, 11:15 a.m. UTC
qemu-system-ppc64/8.1.0-ppc64 was added because bullseye's Qemu didn't
understand the powernv9 machine.

However, bookworm's Qemu does, and this is preforable to maintaining a random
build of Qemu ourselves.

Add bookworm builds, and retain bullseye to keep our lower-bound toolchain
testing.

Rename the jobs to follow to sort coherently ($DISTRO-$VERSION-$ARCH-*) and
reposition the jobs to optimise starting the smoke test.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 automation/gitlab-ci/build.yaml               | 59 ++++++++++---------
 automation/gitlab-ci/test.yaml                |  5 +-
 automation/scripts/qemu-smoke-ppc64le.sh      |  4 +-
 .../qemu-system-ppc64/8.1.0-ppc64.dockerfile  | 38 ------------
 4 files changed, 34 insertions(+), 72 deletions(-)
 delete mode 100644 automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile

Comments

Anthony PERARD July 11, 2024, 4:22 p.m. UTC | #1
On Thu, Jul 11, 2024 at 12:15:13PM +0100, Andrew Cooper wrote:
> qemu-system-ppc64/8.1.0-ppc64 was added because bullseye's Qemu didn't

QEMU is normally spelled "QEMU" unless we are in camel case context, or
lower case context.

> understand the powernv9 machine.
> 
> However, bookworm's Qemu does, and this is preforable to maintaining a random

"preforable", that's an intended mispell right? :-)

> build of Qemu ourselves.
> 
> Add bookworm builds, and retain bullseye to keep our lower-bound toolchain
> testing.
> 
> Rename the jobs to follow to sort coherently ($DISTRO-$VERSION-$ARCH-*) and

There's no renamed jobs in this patch, but the new jobs does follow the
new naming schema. Did you intend to rename both
"debian-bullseye-gcc-ppc64le*" jobs?

> reposition the jobs to optimise starting the smoke test.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Patch is mostly ok, so:
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,
Andrew Cooper July 11, 2024, 6:08 p.m. UTC | #2
On 11/07/2024 5:22 pm, Anthony PERARD wrote:
> On Thu, Jul 11, 2024 at 12:15:13PM +0100, Andrew Cooper wrote:
>> qemu-system-ppc64/8.1.0-ppc64 was added because bullseye's Qemu didn't
> QEMU is normally spelled "QEMU" unless we are in camel case context, or
> lower case context.
>
>> understand the powernv9 machine.
>>
>> However, bookworm's Qemu does, and this is preforable to maintaining a random
> "preforable", that's an intended mispell right? :-)

Yes.  both fixed.

>
>> build of Qemu ourselves.
>>
>> Add bookworm builds, and retain bullseye to keep our lower-bound toolchain
>> testing.
>>
>> Rename the jobs to follow to sort coherently ($DISTRO-$VERSION-$ARCH-*) and
> There's no renamed jobs in this patch, but the new jobs does follow the
> new naming schema.

Oh - good point.  I'll tweak the wording.


>  Did you intend to rename both
> "debian-bullseye-gcc-ppc64le*" jobs?

No - that's done in the following patch.

>
>> reposition the jobs to optimise starting the smoke test.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Patch is mostly ok, so:
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks.

~Andrew
diff mbox series

Patch

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 1446bc1d0ea7..316dc4345f29 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -302,20 +302,6 @@  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:
@@ -364,6 +350,13 @@  debian-bookworm-clang-debug:
   variables:
     CONTAINER: debian:bookworm
 
+debian-12-ppc64le-gcc-debug:
+  extends: .gcc-ppc64le-cross-build-debug
+  variables:
+    CONTAINER: debian:12-ppc64le
+    KBUILD_DEFCONFIG: ppc64_defconfig
+    HYPERVISOR_ONLY: y
+
 # Arm32 cross-build
 
 debian-bookworm-gcc-arm32:
@@ -500,21 +493,6 @@  archlinux-current-gcc-riscv64-randconfig:
     RANDCONFIG: y
     <<: *riscv-fixed-randconfig
 
-# Power cross-build
-debian-bullseye-gcc-ppc64le:
-  extends: .gcc-ppc64le-cross-build
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    HYPERVISOR_ONLY: y
-
-debian-bullseye-gcc-ppc64le-debug:
-  extends: .gcc-ppc64le-cross-build-debug
-  variables:
-    CONTAINER: debian:bullseye-ppc64le
-    KBUILD_DEFCONFIG: ppc64_defconfig
-    HYPERVISOR_ONLY: y
-
 # Yocto test jobs
 yocto-qemuarm64:
   extends: .yocto-test-arm64
@@ -738,3 +716,26 @@  opensuse-tumbleweed-gcc-debug:
   variables:
     CONTAINER: suse:opensuse-tumbleweed
   allow_failure: true
+
+# PowerPC builds (x86 cross)
+debian-bullseye-gcc-ppc64le:
+  extends: .gcc-ppc64le-cross-build
+  variables:
+    CONTAINER: debian:bullseye-ppc64le
+    KBUILD_DEFCONFIG: ppc64_defconfig
+    HYPERVISOR_ONLY: y
+
+debian-bullseye-gcc-ppc64le-debug:
+  extends: .gcc-ppc64le-cross-build-debug
+  variables:
+    CONTAINER: debian:bullseye-ppc64le
+    KBUILD_DEFCONFIG: ppc64_defconfig
+    HYPERVISOR_ONLY: y
+
+debian-12-ppc64le-gcc:
+  extends: .gcc-ppc64le-cross-build
+  variables:
+    CONTAINER: debian:12-ppc64le
+    KBUILD_DEFCONFIG: ppc64_defconfig
+    HYPERVISOR_ONLY: y
+
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index d50e522f9f79..70c946f87799 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -69,7 +69,7 @@ 
 .qemu-ppc64le:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:bullseye-ppc64le
+    CONTAINER: debian:12-ppc64le
     LOGFILE: qemu-smoke-ppc64le.log
   artifacts:
     paths:
@@ -447,5 +447,4 @@  qemu-smoke-ppc64le-powernv9-gcc:
   script:
     - ./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
+    - debian-12-ppc64le-gcc-debug
diff --git a/automation/scripts/qemu-smoke-ppc64le.sh b/automation/scripts/qemu-smoke-ppc64le.sh
index 701d81107d18..9088881b731b 100755
--- a/automation/scripts/qemu-smoke-ppc64le.sh
+++ b/automation/scripts/qemu-smoke-ppc64le.sh
@@ -12,8 +12,8 @@  rm -f ${serial_log}
 set +e
 
 timeout -k 1 20 \
-binaries/qemu-system-ppc64 \
-    -bios binaries/skiboot.lid \
+qemu-system-ppc64 \
+    -bios skiboot.lid \
     -M $machine \
     -m 2g \
     -smp 1 \
diff --git a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile b/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
deleted file mode 100644
index e28d68649239..000000000000
--- a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
+++ /dev/null
@@ -1,38 +0,0 @@ 
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 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/*