The containers are both much smaller, with stable toolchains over time, and this at least means we're not doing all testing with a single compiler.
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.coop...@citrix.com> --- CC: Anthony PERARD <anthony.per...@vates.tech> CC: Juergen Gross <jgr...@suse.com> CC: Roger Pau Monné <roger....@citrix.com> CC: Jan Beulich <jbeul...@suse.com> CC: Stefano Stabellini <sstabell...@kernel.org> CC: Julien Grall <jul...@xen.org> CC: Oleksii Kurochko <oleksii.kuroc...@gmail.com> CC: Shawn Anastasio <sanasta...@raptorengineering.com> --- .../archlinux/current-riscv64.dockerfile | 22 ----- automation/gitlab-ci/build.yaml | 83 +++++++++++-------- automation/gitlab-ci/test.yaml | 4 +- automation/scripts/containerize | 3 +- 4 files changed, 52 insertions(+), 60 deletions(-) delete mode 100644 automation/build/archlinux/current-riscv64.dockerfile diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile deleted file mode 100644 index f7770bf82a78..000000000000 --- a/automation/build/archlinux/current-riscv64.dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -# syntax=docker/dockerfile:1 -FROM --platform=linux/amd64 archlinux -LABEL maintainer.name="The Xen Project" \ - maintainer.email="xen-devel@lists.xenproject.org" - -# Packages needed for the build -RUN pacman --noconfirm --needed -Syu \ - base-devel \ - git \ - inetutils \ - riscv64-linux-gnu-binutils \ - riscv64-linux-gnu-gcc \ - riscv64-linux-gnu-glibc \ - # For test phase - qemu-system-riscv - -# Add compiler path -ENV CROSS_COMPILE=riscv64-linux-gnu- - -RUN useradd --create-home user -USER user -WORKDIR /build diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index e081664c4e95..4b9d80cc5632 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -357,6 +357,13 @@ debian-12-ppc64le-gcc-debug: KBUILD_DEFCONFIG: ppc64_defconfig HYPERVISOR_ONLY: y +debian-12-riscv64-gcc-debug: + extends: .gcc-riscv64-cross-build-debug + variables: + CONTAINER: debian:12-riscv64 + KBUILD_DEFCONFIG: tiny64_defconfig + HYPERVISOR_ONLY: y + # Arm32 cross-build debian-bookworm-gcc-arm32: @@ -458,41 +465,6 @@ alpine-3.18-gcc-debug-arm64-earlyprintk: CONFIG_EARLY_UART_CHOICE_PL011=y CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000 -# RISC-V 64 cross-build -.riscv-fixed-randconfig: - variables: &riscv-fixed-randconfig - EXTRA_FIXED_RANDCONFIG: | - CONFIG_BOOT_TIME_CPUPOOLS=n - CONFIG_COVERAGE=n - CONFIG_EXPERT=y - CONFIG_GRANT_TABLE=n - CONFIG_MEM_ACCESS=n - CONFIG_PERF_COUNTERS=n - CONFIG_LIVEPATCH=n - CONFIG_XSM=n - -archlinux-current-gcc-riscv64: - extends: .gcc-riscv64-cross-build - variables: - CONTAINER: archlinux:current-riscv64 - KBUILD_DEFCONFIG: tiny64_defconfig - HYPERVISOR_ONLY: y - -archlinux-current-gcc-riscv64-debug: - extends: .gcc-riscv64-cross-build-debug - variables: - CONTAINER: archlinux:current-riscv64 - KBUILD_DEFCONFIG: tiny64_defconfig - HYPERVISOR_ONLY: y - -archlinux-current-gcc-riscv64-randconfig: - extends: .gcc-riscv64-cross-build - variables: - CONTAINER: archlinux:current-riscv64 - KBUILD_DEFCONFIG: tiny64_defconfig - RANDCONFIG: y - <<: *riscv-fixed-randconfig - # Yocto test jobs yocto-qemuarm64: extends: .yocto-test-arm64 @@ -739,3 +711,44 @@ debian-12-ppc64le-gcc: KBUILD_DEFCONFIG: ppc64_defconfig HYPERVISOR_ONLY: y +# RISC-V 64 cross-build +debian-11-riscv64-gcc: + extends: .gcc-riscv64-cross-build + variables: + CONTAINER: debian:11-riscv64 + KBUILD_DEFCONFIG: tiny64_defconfig + HYPERVISOR_ONLY: y + +debian-11-riscv64-gcc-debug: + extends: .gcc-riscv64-cross-build-debug + variables: + CONTAINER: debian:11-riscv64 + KBUILD_DEFCONFIG: tiny64_defconfig + HYPERVISOR_ONLY: y + +debian-12-riscv64-gcc: + extends: .gcc-riscv64-cross-build + variables: + CONTAINER: debian:12-riscv64 + KBUILD_DEFCONFIG: tiny64_defconfig + HYPERVISOR_ONLY: y + +.riscv-fixed-randconfig: + variables: &riscv-fixed-randconfig + EXTRA_FIXED_RANDCONFIG: | + CONFIG_BOOT_TIME_CPUPOOLS=n + CONFIG_COVERAGE=n + CONFIG_EXPERT=y + CONFIG_GRANT_TABLE=n + CONFIG_MEM_ACCESS=n + CONFIG_PERF_COUNTERS=n + CONFIG_LIVEPATCH=n + CONFIG_XSM=n + +debian-12-riscv64-gcc-randconfig: + extends: .gcc-riscv64-cross-build + variables: + CONTAINER: debian:12-riscv64 + KBUILD_DEFCONFIG: tiny64_defconfig + RANDCONFIG: y + <<: *riscv-fixed-randconfig diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 70c946f87799..f7e1753ead34 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -56,7 +56,7 @@ .qemu-riscv64: extends: .test-jobs-common variables: - CONTAINER: archlinux:current-riscv64 + CONTAINER: debian:12 LOGFILE: qemu-smoke-riscv64.log artifacts: paths: @@ -440,7 +440,7 @@ qemu-smoke-riscv64-gcc: script: - ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE} needs: - - archlinux-current-gcc-riscv64-debug + - debian-12-riscv64-gcc-debug qemu-smoke-ppc64le-powernv9-gcc: extends: .qemu-ppc64le diff --git a/automation/scripts/containerize b/automation/scripts/containerize index 5c3f6782d9cd..6dbf55c8f89a 100755 --- a/automation/scripts/containerize +++ b/automation/scripts/containerize @@ -27,12 +27,13 @@ case "_${CONTAINER}" in _alpine) CONTAINER="${BASE}/alpine:3.18" ;; _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;; _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;; - _riscv64) CONTAINER="${BASE}/archlinux:current-riscv64" ;; _centos7) CONTAINER="${BASE}/centos:7" ;; _fedora) CONTAINER="${BASE}/fedora:29";; _focal) CONTAINER="${BASE}/ubuntu:focal" ;; _bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;; _bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;; + _bullseye-riscv64) CONTAINER="${BASE}/debian:11-riscv64" ;; + _bookworm-riscv64) CONTAINER="${BASE}/debian:12-riscv64" ;; _buster-gcc-ibt) CONTAINER="${BASE}/debian:buster-gcc-ibt" ;; _bookworm|_) CONTAINER="${BASE}/debian:bookworm" ;; _bookworm-i386) CONTAINER="${BASE}/debian:bookworm-i386" ;; -- 2.39.2