From cfaaf09a5ec434ea6c454e911a4485970db16458 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Fri, 12 Jun 2026 16:08:17 +0100 Subject: [PATCH] CI: Update the Alpine arm64 container to 3.24 Perform standard syntax cleanup and make it a non-root container. Switch yajl for json-c given the deprecation of the former. Drop dev86 which is an x86-only dependency, and QEMU dependencies as we don't build QEMU in this environment any more. When updating the job names, also rename some for consistency so the arm64 fragment comes before the compiler. Signed-off-by: Andrew Cooper Reviewed-by: Denis Mukhin Release-Acked-by: Oleksii Kurochko --- .../build/alpine/3.18-arm64v8.dockerfile | 51 ------------------ .../build/alpine/3.24-arm64v8.dockerfile | 53 +++++++++++++++++++ automation/gitlab-ci/build.yaml | 32 +++++------ automation/gitlab-ci/test.yaml | 30 +++++------ automation/scripts/containerize | 2 +- 5 files changed, 85 insertions(+), 83 deletions(-) delete mode 100644 automation/build/alpine/3.18-arm64v8.dockerfile create mode 100644 automation/build/alpine/3.24-arm64v8.dockerfile diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile deleted file mode 100644 index b8482d5bf4..0000000000 --- a/automation/build/alpine/3.18-arm64v8.dockerfile +++ /dev/null @@ -1,51 +0,0 @@ -# syntax=docker/dockerfile:1 -FROM --platform=linux/arm64/v8 alpine:3.18 -LABEL maintainer.name="The Xen Project" \ - maintainer.email="xen-devel@lists.xenproject.org" - -ENV USER root - -RUN mkdir /build -WORKDIR /build - -# build depends -RUN apk --no-cache add \ - \ - # xen build deps - argp-standalone \ - autoconf \ - bash \ - bison \ - curl \ - dev86 \ - dtc-dev \ - flex \ - gcc \ - git \ - iasl \ - libaio-dev \ - libfdt \ - linux-headers \ - make \ - musl-dev \ - ncurses-dev \ - ocaml \ - ocaml-findlib \ - patch \ - python3-dev \ - py3-setuptools \ - texinfo \ - util-linux-dev \ - xz-dev \ - yajl-dev \ - zlib-dev \ - \ - # qemu build deps - glib-dev \ - libattr \ - libcap-ng-dev \ - pixman-dev \ - # qubes test deps - openssh-client \ - fakeroot \ - expect \ diff --git a/automation/build/alpine/3.24-arm64v8.dockerfile b/automation/build/alpine/3.24-arm64v8.dockerfile new file mode 100644 index 0000000000..5b28d874ef --- /dev/null +++ b/automation/build/alpine/3.24-arm64v8.dockerfile @@ -0,0 +1,53 @@ +# syntax=docker/dockerfile:1 +FROM --platform=linux/arm64/v8 alpine:3.24 +LABEL maintainer.name="The Xen Project" +LABEL maintainer.email="xen-devel@lists.xenproject.org" + +RUN apk --no-cache add bash + +RUN <&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug xilinx-smoke-dom0less-arm64-gcc-debug-gem-passthrough: extends: .xilinx-arm64 @@ -228,7 +228,7 @@ xilinx-smoke-dom0less-arm64-gcc-debug-gem-passthrough: - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug xilinx-smoke-dom0-x86_64-gcc-debug: extends: .xilinx-x86_64 @@ -494,7 +494,7 @@ qemu-smoke-dom0-arm64-gcc: - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-arm64 + - alpine-3.24-arm64-gcc qemu-smoke-dom0-arm64-gcc-debug: extends: .qemu-arm64 @@ -502,7 +502,7 @@ qemu-smoke-dom0-arm64-gcc-debug: - ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug qemu-smoke-dom0less-arm64-gcc: extends: .qemu-arm64 @@ -510,7 +510,7 @@ qemu-smoke-dom0less-arm64-gcc: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-arm64 + - alpine-3.24-arm64-gcc qemu-smoke-dom0less-arm64-gcc-debug: extends: .qemu-arm64 @@ -518,7 +518,7 @@ qemu-smoke-dom0less-arm64-gcc-debug: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug qemu-smoke-dom0less-arm64-gcc-debug-gicv3: extends: .qemu-arm64 @@ -526,7 +526,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-gicv3: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug qemu-smoke-dom0less-arm64-gcc-debug-staticmem: extends: .qemu-arm64 @@ -534,7 +534,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64-staticmem + - alpine-3.24-arm64-gcc-debug-staticmem qemu-smoke-dom0less-arm64-gcc-debug-staticheap: extends: .qemu-arm64 @@ -542,7 +542,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem: extends: .qemu-arm64 @@ -550,7 +550,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64-static-shared-mem + - alpine-3.24-arm64-gcc-debug-static-shared-mem qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools: extends: .qemu-arm64 @@ -558,7 +558,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64-boot-cpupools + - alpine-3.24-arm64-gcc-debug-boot-cpupools qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk: extends: .qemu-arm64 @@ -566,7 +566,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk: - ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64-earlyprintk + - alpine-3.24-arm64-gcc-debug-earlyprintk qemu-xtf-dom0less-arm64-gcc-hyp-xen-version: extends: .qemu-arm64 @@ -574,7 +574,7 @@ qemu-xtf-dom0less-arm64-gcc-hyp-xen-version: - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-arm64 + - alpine-3.24-arm64-gcc qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version: extends: .qemu-arm64 @@ -582,7 +582,7 @@ qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version: - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: - *arm64-test-needs - - alpine-3.18-gcc-debug-arm64 + - alpine-3.24-arm64-gcc-debug qemu-smoke-dom0-arm32-gcc: extends: .qemu-arm32 diff --git a/automation/scripts/containerize b/automation/scripts/containerize index e9b2f6122f..feadd9e82f 100755 --- a/automation/scripts/containerize +++ b/automation/scripts/containerize @@ -25,7 +25,7 @@ die() { BASE="registry.gitlab.com/xen-project/xen" case "_${CONTAINER}" in _alpine) CONTAINER="${BASE}/alpine:3.24-x86_64" ;; - _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;; + _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.24-arm64v8" ;; _archlinux|_arch) CONTAINER="${BASE}/archlinux:current-x86_64" ;; _fedora) CONTAINER="${BASE}/fedora:43-x86_64";; _bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;