CI: Add Debian 13 to the FULL_OS runner list

This commit adds Debian 13 alias Trixie to the checked operating
systems. The image needs to be run with UEFI support.

Current Debian version overview:
- Debian 11 (Bullseye) -> "oldoldstable"
- Debian 12 (Bookworm) -> "oldstable"
- Debian 13 (Trixie) -> new "stable"

The CI will be run on Debian 12 and Debian 13 now.
Debian 11 is kept, but won't be used automatically.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Closes #17648
This commit is contained in:
Tino Reichardt 2025-08-20 17:03:34 +02:00 committed by Tony Hutter
parent 8cca55f18b
commit fdb5078d82
4 changed files with 29 additions and 7 deletions

View File

@ -25,6 +25,10 @@ UBMIRROR="https://cloud-images.ubuntu.com"
# default nic model for vm's # default nic model for vm's
NIC="virtio" NIC="virtio"
# additional options for virt-install
OPTS[0]=""
OPTS[1]=""
case "$OS" in case "$OS" in
almalinux8) almalinux8)
OSNAME="AlmaLinux 8" OSNAME="AlmaLinux 8"
@ -61,6 +65,14 @@ case "$OS" in
OSNAME="Debian 12" OSNAME="Debian 12"
URL="https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2" URL="https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"
;; ;;
debian13)
OSNAME="Debian 13"
# TODO: Overwrite OSv to debian13 for virt-install until it's added to osinfo
OSv="debian12"
URL="https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2"
OPTS[0]="--boot"
OPTS[1]="uefi=on"
;;
fedora41) fedora41)
OSNAME="Fedora 41" OSNAME="Fedora 41"
OSv="fedora-unknown" OSv="fedora-unknown"
@ -242,7 +254,7 @@ sudo virt-install \
--network bridge=virbr0,model=$NIC,mac='52:54:00:83:79:00' \ --network bridge=virbr0,model=$NIC,mac='52:54:00:83:79:00' \
--cloud-init user-data=/tmp/user-data \ --cloud-init user-data=/tmp/user-data \
--disk $DISK,bus=virtio,cache=none,format=raw,driver.discard=unmap \ --disk $DISK,bus=virtio,cache=none,format=raw,driver.discard=unmap \
--import --noautoconsole >/dev/null --import --noautoconsole ${OPTS[0]} ${OPTS[1]} >/dev/null
# Give the VMs hostnames so we don't have to refer to them with # Give the VMs hostnames so we don't have to refer to them with
# hardcoded IP addresses. # hardcoded IP addresses.

View File

@ -41,7 +41,7 @@ function debian() {
libelf-dev libffi-dev libmount-dev libpam0g-dev libselinux-dev libssl-dev \ libelf-dev libffi-dev libmount-dev libpam0g-dev libselinux-dev libssl-dev \
libtool libtool-bin libudev-dev libunwind-dev linux-headers-$(uname -r) \ libtool libtool-bin libudev-dev libunwind-dev linux-headers-$(uname -r) \
lsscsi nfs-kernel-server pamtester parted python3 python3-all-dev \ lsscsi nfs-kernel-server pamtester parted python3 python3-all-dev \
python3-cffi python3-dev python3-distlib python3-packaging \ python3-cffi python3-dev python3-distlib python3-packaging libtirpc-dev \
python3-setuptools python3-sphinx qemu-guest-agent rng-tools rpm2cpio \ python3-setuptools python3-sphinx qemu-guest-agent rng-tools rpm2cpio \
rsync samba sysstat uuid-dev watchdog wget xfslibs-dev xxhash zlib1g-dev rsync samba sysstat uuid-dev watchdog wget xfslibs-dev xxhash zlib1g-dev
echo "##[endgroup]" echo "##[endgroup]"

View File

@ -12,16 +12,26 @@ source /var/tmp/env.txt
# wait for poweroff to succeed # wait for poweroff to succeed
PID=$(pidof /usr/bin/qemu-system-x86_64) PID=$(pidof /usr/bin/qemu-system-x86_64)
tail --pid=$PID -f /dev/null tail --pid=$PID -f /dev/null
sudo virsh undefine openzfs sudo virsh undefine --nvram openzfs
# cpu pinning # cpu pinning
CPUSET=("0,1" "2,3") CPUSET=("0,1" "2,3")
# additional options for virt-install
OPTS[0]=""
OPTS[1]=""
case "$OS" in case "$OS" in
freebsd*) freebsd*)
# FreeBSD needs only 6GiB # FreeBSD needs only 6GiB
RAM=6 RAM=6
;; ;;
debian13)
RAM=8
# Boot Debian 13 with uefi=on and secureboot=off (ZFS Kernel Module not signed)
OPTS[0]="--boot"
OPTS[1]="firmware=efi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no"
;;
*) *)
# Linux needs more memory, but can be optimized to share it via KSM # Linux needs more memory, but can be optimized to share it via KSM
RAM=8 RAM=8
@ -79,7 +89,7 @@ EOF
--network bridge=virbr0,model=$NIC,mac="52:54:00:83:79:0$i" \ --network bridge=virbr0,model=$NIC,mac="52:54:00:83:79:0$i" \
--disk $DISK-system,bus=virtio,cache=none,format=$FORMAT,driver.discard=unmap \ --disk $DISK-system,bus=virtio,cache=none,format=$FORMAT,driver.discard=unmap \
--disk $DISK-tests,bus=virtio,cache=none,format=$FORMAT,driver.discard=unmap \ --disk $DISK-tests,bus=virtio,cache=none,format=$FORMAT,driver.discard=unmap \
--import --noautoconsole >/dev/null --import --noautoconsole ${OPTS[0]} ${OPTS[1]}
done done
# generate some memory stats # generate some memory stats

View File

@ -29,7 +29,7 @@ jobs:
- name: Generate OS config and CI type - name: Generate OS config and CI type
id: os id: os
run: | run: |
FULL_OS='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian11", "debian12", "fedora41", "fedora42", "freebsd13-5r", "freebsd14-3s", "freebsd15-0c", "ubuntu22", "ubuntu24"]' FULL_OS='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora41", "fedora42", "freebsd13-5r", "freebsd14-3s", "freebsd15-0c", "ubuntu22", "ubuntu24"]'
QUICK_OS='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd14-3s", "ubuntu24"]' QUICK_OS='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd14-3s", "ubuntu24"]'
# determine CI type when running on PR # determine CI type when running on PR
ci_type="full" ci_type="full"
@ -63,8 +63,8 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
# rhl: almalinux8, almalinux9, centos-stream9, fedora41 # rhl: almalinux8, almalinux9, centos-stream9, fedora4x
# debian: debian11, debian12, ubuntu22, ubuntu24 # debian: debian12, debian13, ubuntu22, ubuntu24
# misc: archlinux, tumbleweed # misc: archlinux, tumbleweed
# FreeBSD variants of 2025-06: # FreeBSD variants of 2025-06:
# FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r # FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r