With the exception of the custom IBT job, copy all Debian 12 jobs making
Debian 13 versions, then trim the Debian 12 ranconfig jobs.
Update the test jobs using Debian 12 to use 13.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
v2:
* Make 13-x86_64 be root-less
* Update containerize
https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2032972883
---
automation/build/debian/13-x86_32.dockerfile | 51 +++++++++++++
automation/build/debian/13-x86_64.dockerfile | 76 ++++++++++++++++++++
automation/gitlab-ci/build.yaml | 54 ++++++++++----
automation/gitlab-ci/test.yaml | 10 +--
automation/scripts/containerize | 3 +-
5 files changed, 176 insertions(+), 18 deletions(-)
create mode 100644 automation/build/debian/13-x86_32.dockerfile
create mode 100644 automation/build/debian/13-x86_64.dockerfile
diff --git a/automation/build/debian/13-x86_32.dockerfile b/automation/build/debian/13-x86_32.dockerfile
new file mode 100644
index 000000000000..2bd11af5a0c3
--- /dev/null
+++ b/automation/build/debian/13-x86_32.dockerfile
@@ -0,0 +1,51 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/i386 debian:trixie-slim
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+#!/bin/bash
+ set -eu
+
+ useradd --create-home user
+
+ apt-get update
+
+ DEPS=(
+ # Xen
+ bison
+ build-essential
+ checkpolicy
+ clang
+ flex
+
+ # Tools (general)
+ ca-certificates
+ git-core
+ pkg-config
+ wget
+ # libacpi
+ acpica-tools
+ # libxl
+ uuid-dev
+ libyajl-dev
+ # xentop
+ libncurses5-dev
+ # Python bindings
+ python3-dev
+ python3-setuptools
+ # Ocaml bindings/oxenstored
+ ocaml-nox
+ ocaml-findlib
+ )
+
+ apt-get -y --no-install-recommends install "${DEPS[@]}"
+
+ rm -rf /var/lib/apt/lists*
+EOF
+
+USER user
+WORKDIR /build
+ENTRYPOINT ["linux32"]
diff --git a/automation/build/debian/13-x86_64.dockerfile b/automation/build/debian/13-x86_64.dockerfile
new file mode 100644
index 000000000000..20e9d2f3f52d
--- /dev/null
+++ b/automation/build/debian/13-x86_64.dockerfile
@@ -0,0 +1,76 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 debian:trixie-slim
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+#!/bin/bash
+ set -eu
+
+ useradd --create-home user
+
+ apt-get update
+
+ DEPS=(
+ # Xen
+ bison
+ build-essential
+ checkpolicy
+ clang
+ flex
+
+ # Tools (general)
+ ca-certificates
+ git-core
+ pkg-config
+ wget
+ # libxenguest dombuilder
+ libbz2-dev
+ liblzma-dev
+ liblzo2-dev
+ libzstd-dev
+ zlib1g-dev
+ # libacpi
+ acpica-tools
+ # libxl
+ uuid-dev
+ libnl-3-dev
+ libyajl-dev
+ # RomBIOS
+ bcc
+ bin86
+ # xentop
+ libncurses5-dev
+ # Python bindings
+ python3-dev
+ python3-setuptools
+ # Golang bindings
+ golang-go
+ # Ocaml bindings/oxenstored
+ ocaml-nox
+ ocaml-findlib
+
+ # for test phase, qemu-smoke-* jobs
+ expect
+ qemu-system-x86
+
+ # for build-each-commit-gcc
+ ccache
+
+ # for qemu-alpine-x86_64-gcc
+ busybox-static
+ cpio
+
+ # For *-efi jobs
+ ovmf
+ )
+
+ apt-get -y --no-install-recommends install "${DEPS[@]}"
+
+ rm -rf /var/lib/apt/lists*
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index f8e45f3467c8..4cb52fe59715 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -309,15 +309,15 @@ alpine-3.18-gcc-debug:
CONFIG_UCODE_SCAN_DEFAULT=y
CONFIG_XHCI=y
-debian-12-x86_64-gcc-debug:
+debian-13-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug
variables:
- CONTAINER: debian:12-x86_64
+ CONTAINER: debian:13-x86_64
-debian-12-x86_64-clang-debug:
+debian-13-x86_64-clang-debug:
extends: .clang-x86-64-build-debug
variables:
- CONTAINER: debian:12-x86_64
+ CONTAINER: debian:13-x86_64
debian-13-ppc64le-gcc-debug:
extends: .gcc-ppc64le-cross-build-debug
@@ -545,24 +545,20 @@ debian-12-x86_64-clang:
variables:
CONTAINER: debian:12-x86_64
-debian-12-x86_64-clang-randconfig:
- extends: .clang-x86-64-build
+debian-12-x86_64-clang-debug:
+ extends: .clang-x86-64-build-debug
variables:
CONTAINER: debian:12-x86_64
- RANDCONFIG: y
- EXTRA_FIXED_RANDCONFIG: |
- CONFIG_COVERAGE=n # Disable coverage otherwise build times out.
debian-12-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
CONTAINER: debian:12-x86_64
-debian-12-x86_64-gcc-randconfig:
- extends: .gcc-x86-64-build
+debian-12-x86_64-gcc-debug:
+ extends: .gcc-x86-64-build-debug
variables:
CONTAINER: debian:12-x86_64
- RANDCONFIG: y
debian-12-x86_32-clang-debug:
extends: .clang-x86-32-build-debug
@@ -574,6 +570,40 @@ debian-12-x86_32-gcc-debug:
variables:
CONTAINER: debian:12-x86_32
+debian-13-x86_64-clang:
+ extends: .clang-x86-64-build
+ variables:
+ CONTAINER: debian:13-x86_64
+
+debian-13-x86_64-clang-randconfig:
+ extends: .clang-x86-64-build
+ variables:
+ CONTAINER: debian:13-x86_64
+ RANDCONFIG: y
+ EXTRA_FIXED_RANDCONFIG: |
+ CONFIG_COVERAGE=n # Disable coverage otherwise build times out.
+
+debian-13-x86_64-gcc:
+ extends: .gcc-x86-64-build
+ variables:
+ CONTAINER: debian:13-x86_64
+
+debian-13-x86_64-gcc-randconfig:
+ extends: .gcc-x86-64-build
+ variables:
+ CONTAINER: debian:13-x86_64
+ RANDCONFIG: y
+
+debian-13-x86_32-clang-debug:
+ extends: .clang-x86-32-build-debug
+ variables:
+ CONTAINER: debian:13-x86_32
+
+debian-13-x86_32-gcc-debug:
+ extends: .gcc-x86-32-build-debug
+ variables:
+ CONTAINER: debian:13-x86_32
+
fedora-41-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 9acd984d294c..96e952235737 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -661,35 +661,35 @@ qemu-smoke-x86-64-gcc:
script:
- ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee ${LOGFILE}
needs:
- - debian-12-x86_64-gcc-debug
+ - debian-13-x86_64-gcc-debug
qemu-smoke-x86-64-clang:
extends: .qemu-smoke-x86-64
script:
- ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee ${LOGFILE}
needs:
- - debian-12-x86_64-clang-debug
+ - debian-13-x86_64-clang-debug
qemu-smoke-x86-64-gcc-pvh:
extends: .qemu-smoke-x86-64
script:
- ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee ${LOGFILE}
needs:
- - debian-12-x86_64-gcc-debug
+ - debian-13-x86_64-gcc-debug
qemu-smoke-x86-64-clang-pvh:
extends: .qemu-smoke-x86-64
script:
- ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee ${LOGFILE}
needs:
- - debian-12-x86_64-clang-debug
+ - debian-13-x86_64-clang-debug
qemu-smoke-x86-64-gcc-efi:
extends: .qemu-smoke-x86-64
script:
- ./automation/scripts/qemu-xtf.sh x86-64-efi pv64 example 2>&1 | tee ${LOGFILE}
needs:
- - debian-12-x86_64-gcc-debug
+ - debian-13-x86_64-gcc-debug
qemu-xtf-argo-x86_64-gcc-debug:
extends: .qemu-smoke-x86-64
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 65c8804ce5f3..743567cb772a 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -35,7 +35,8 @@ case "_${CONTAINER}" in
_bookworm-riscv64) CONTAINER="${BASE}/debian:12-riscv64" ;;
_trixie-riscv64) CONTAINER="${BASE}/debian:13-riscv64" ;;
_bookworm-x86_64-gcc-ibt) CONTAINER="${BASE}/debian:12-x86_64-gcc-ibt" ;;
- _bookworm|_bookworm-x86_64|_) CONTAINER="${BASE}/debian:12-x86_64" ;;
+ _bookworm|_bookworm-x86_64) CONTAINER="${BASE}/debian:12-x86_64" ;;
+ _trixie-x86_64|_) CONTAINER="${BASE}/debian:13-x86_64" ;;
_bookworm-i386|_bookworm-x86_32) CONTAINER="${BASE}/debian:12-x86_32" ;;
_bookworm-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:bookworm-arm64v8-arm32-gcc" ;;
_bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;;
--
2.39.5
© 2016 - 2025 Red Hat, Inc.