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.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>
---
.../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
On Thu, 2024-07-11 at 12:15 +0100, Andrew Cooper wrote: > 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.cooper3@citrix.com> LGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com> ~ Oleksii > --- > 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> > --- > .../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" ;;
On Thu, Jul 11, 2024 at 12:15:16PM +0100, Andrew Cooper wrote: > 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.cooper3@citrix.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech> Thanks, -- Anthony Perard | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
© 2016 - 2024 Red Hat, Inc.