Skip to content

Commit a68a9c7

Browse files
mcmilktonyhutter
authored andcommitted
CI: Update FreeBSD versions and ci-type handling
Update FreeBSD versions: - add FreeBSD 15.0-STABLE - add FreeBSD 16.0-CURRENT So we use the latest versions of each line now: - Freebsd 14.3 (RELEASE) - FreeBSD 15.0 (STABLE) - FreeBSD 16.0 (CURRENT) In commits - you may specify which type of CI should run: - ZFS-CI-Type: quick - ZFS-CI-Type: linux - ZFS-CI-Type: freebsd - ZFS-CI-Type: full Reviewed-by: Alexx Saver <[email protected]> Reviewed-by: Alexander Motin <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Tino Reichardt <[email protected]> Closes #17896
1 parent 19b9d93 commit a68a9c7

File tree

4 files changed

+44
-26
lines changed

4 files changed

+44
-26
lines changed

.github/workflows/scripts/generate-ci-type.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
- the *last* commit message contains 'ZFS-CI-Type: quick'
88
or if (heuristics):
99
- the files changed are not in the list of specified directories, and
10-
- all commit messages do not contain 'ZFS-CI-Type: full'
10+
- all commit messages do not contain 'ZFS-CI-Type: (full|linux|freebsd)'
1111
1212
Otherwise prints "full".
1313
"""
@@ -70,7 +70,7 @@ def output_type(type, reason):
7070

7171
for line in last_commit_message_raw.stdout.decode().splitlines():
7272
if line.strip().lower() == 'zfs-ci-type: quick':
73-
output_type('quick', f'explicitly requested by HEAD commit {head}')
73+
output_type('quick', f'requested by HEAD commit {head}')
7474

7575
# check all commit messages
7676
all_commit_message_raw = subprocess.run([
@@ -83,8 +83,12 @@ def output_type(type, reason):
8383
for line in all_commit_message:
8484
if line.startswith('ZFS-CI-Commit:'):
8585
commit_ref = line.lstrip('ZFS-CI-Commit:').rstrip()
86+
if line.strip().lower() == 'zfs-ci-type: freebsd':
87+
output_type('freebsd', f'requested by commit {commit_ref}')
88+
if line.strip().lower() == 'zfs-ci-type: linux':
89+
output_type('linux', f'requested by commit {commit_ref}')
8690
if line.strip().lower() == 'zfs-ci-type: full':
87-
output_type('full', f'explicitly requested by commit {commit_ref}')
91+
output_type('full', f'requested by commit {commit_ref}')
8892

8993
# check changed files
9094
changed_files_raw = subprocess.run([

.github/workflows/scripts/qemu-2-start.sh

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,15 @@ case "$OS" in
4747
OSNAME="Archlinux"
4848
URL="https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2"
4949
;;
50+
centos-stream9)
51+
OSNAME="CentOS Stream 9"
52+
URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2"
53+
;;
5054
centos-stream10)
5155
OSNAME="CentOS Stream 10"
52-
# TODO: #16903 Overwrite OSv to stream9 for virt-install until it's added to osinfo
5356
OSv="centos-stream9"
5457
URL="https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-10-latest.x86_64.qcow2"
5558
;;
56-
centos-stream9)
57-
OSNAME="CentOS Stream 9"
58-
URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2"
59-
;;
6059
debian11)
6160
OSNAME="Debian 11"
6261
URL="https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2"
@@ -83,6 +82,11 @@ case "$OS" in
8382
OSv="fedora-unknown"
8483
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/42/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-42-1.1.x86_64.qcow2"
8584
;;
85+
fedora43)
86+
OSNAME="Fedora 43"
87+
OSv="fedora-unknown"
88+
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-43-1.6.x86_64.qcow2"
89+
;;
8690
freebsd13-5r)
8791
FreeBSD="13.5-RELEASE"
8892
OSNAME="FreeBSD $FreeBSD"
@@ -95,8 +99,8 @@ case "$OS" in
9599
FreeBSD="14.2-RELEASE"
96100
OSNAME="FreeBSD $FreeBSD"
97101
OSv="freebsd14.0"
98-
KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz"
99102
URLxz="$FREEBSD_REL/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI.raw.xz"
103+
KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz"
100104
;;
101105
freebsd14-3r)
102106
FreeBSD="14.3-RELEASE"
@@ -120,8 +124,8 @@ case "$OS" in
120124
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
121125
KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz"
122126
;;
123-
freebsd15-0c)
124-
FreeBSD="15.0-ALPHA4"
127+
freebsd15-0s)
128+
FreeBSD="15.0-STABLE"
125129
OSNAME="FreeBSD $FreeBSD"
126130
OSv="freebsd14.0"
127131
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"

.github/workflows/zfs-qemu-packages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
strategy:
5353
fail-fast: false
5454
matrix:
55-
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42']
55+
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42', 'fedora43']
5656
runs-on: ubuntu-24.04
5757
steps:
5858
- uses: actions/checkout@v4

.github/workflows/zfs-qemu.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,34 @@ jobs:
2929
- name: Generate OS config and CI type
3030
id: os
3131
run: |
32-
FULL_OS='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora41", "fedora42", "freebsd13-5r", "freebsd14-3s", "freebsd15-0c", "ubuntu22", "ubuntu24"]'
33-
QUICK_OS='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd14-3s", "ubuntu24"]'
32+
ci_type="default"
33+
3434
# determine CI type when running on PR
35-
ci_type="full"
3635
if ${{ github.event_name == 'pull_request' }}; then
3736
head=${{ github.event.pull_request.head.sha }}
3837
base=${{ github.event.pull_request.base.sha }}
3938
ci_type=$(python3 .github/workflows/scripts/generate-ci-type.py $head $base)
4039
fi
41-
if [ "$ci_type" == "quick" ]; then
42-
os_selection="$QUICK_OS"
43-
else
44-
os_selection="$FULL_OS"
45-
fi
40+
41+
case "$ci_type" in
42+
quick)
43+
os_selection='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd15-0s", "ubuntu24"]'
44+
;;
45+
linux)
46+
os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian11", "debian12", "debian13", "fedora41", "fedora42", "fedora43", "ubuntu22", "ubuntu24"]'
47+
;;
48+
freebsd)
49+
os_selection='["freebsd13-5r", "freebsd14-2r", "freebsd14-3r", "freebsd13-5s", "freebsd14-3s", "freebsd15-0s", "freebsd16-0c"]'
50+
;;
51+
*)
52+
# default list
53+
os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora42", "fedora43", "freebsd14-3r", "freebsd15-0s", "freebsd16-0c", "ubuntu22", "ubuntu24"]'
54+
;;
55+
esac
4656
4757
if ${{ github.event.inputs.fedora_kernel_ver != '' }}; then
48-
# They specified a custom kernel version for Fedora. Use only
49-
# Fedora runners.
58+
# They specified a custom kernel version for Fedora.
59+
# Use only Fedora runners.
5060
os_json=$(echo ${os_selection} | jq -c '[.[] | select(startswith("fedora"))]')
5161
else
5262
# Normal case
@@ -62,13 +72,13 @@ jobs:
6272
strategy:
6373
fail-fast: false
6474
matrix:
65-
# rhl: almalinux8, almalinux9, centos-stream9, fedora4x
75+
# rhl: almalinux8, almalinux9, centos-streamX, fedora4x
6676
# debian: debian12, debian13, ubuntu22, ubuntu24
6777
# misc: archlinux, tumbleweed
68-
# FreeBSD variants of 2025-06:
78+
# FreeBSD variants of november 2025:
6979
# FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r
70-
# FreeBSD Stable: freebsd13-5s, freebsd14-3s
71-
# FreeBSD Current: freebsd15-0c, freebsd16-0c
80+
# FreeBSD Stable: freebsd13-5s, freebsd14-3s, freebsd15-0s
81+
# FreeBSD Current: freebsd16-0c
7282
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
7383
runs-on: ubuntu-24.04
7484
steps:

0 commit comments

Comments
 (0)