mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-01-25 10:12:13 +03:00
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 <lzsaver@users.noreply.github.com> Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de> Closes #17896
This commit is contained in:
parent
6e4acd7893
commit
5f8b3fbe56
10
.github/workflows/scripts/generate-ci-type.py
vendored
10
.github/workflows/scripts/generate-ci-type.py
vendored
@ -7,7 +7,7 @@ Prints "quick" if (explicity required by user):
|
|||||||
- the *last* commit message contains 'ZFS-CI-Type: quick'
|
- the *last* commit message contains 'ZFS-CI-Type: quick'
|
||||||
or if (heuristics):
|
or if (heuristics):
|
||||||
- the files changed are not in the list of specified directories, and
|
- the files changed are not in the list of specified directories, and
|
||||||
- all commit messages do not contain 'ZFS-CI-Type: full'
|
- all commit messages do not contain 'ZFS-CI-Type: (full|linux|freebsd)'
|
||||||
|
|
||||||
Otherwise prints "full".
|
Otherwise prints "full".
|
||||||
"""
|
"""
|
||||||
@ -70,7 +70,7 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
for line in last_commit_message_raw.stdout.decode().splitlines():
|
for line in last_commit_message_raw.stdout.decode().splitlines():
|
||||||
if line.strip().lower() == 'zfs-ci-type: quick':
|
if line.strip().lower() == 'zfs-ci-type: quick':
|
||||||
output_type('quick', f'explicitly requested by HEAD commit {head}')
|
output_type('quick', f'requested by HEAD commit {head}')
|
||||||
|
|
||||||
# check all commit messages
|
# check all commit messages
|
||||||
all_commit_message_raw = subprocess.run([
|
all_commit_message_raw = subprocess.run([
|
||||||
@ -83,8 +83,12 @@ if __name__ == '__main__':
|
|||||||
for line in all_commit_message:
|
for line in all_commit_message:
|
||||||
if line.startswith('ZFS-CI-Commit:'):
|
if line.startswith('ZFS-CI-Commit:'):
|
||||||
commit_ref = line.lstrip('ZFS-CI-Commit:').rstrip()
|
commit_ref = line.lstrip('ZFS-CI-Commit:').rstrip()
|
||||||
|
if line.strip().lower() == 'zfs-ci-type: freebsd':
|
||||||
|
output_type('freebsd', f'requested by commit {commit_ref}')
|
||||||
|
if line.strip().lower() == 'zfs-ci-type: linux':
|
||||||
|
output_type('linux', f'requested by commit {commit_ref}')
|
||||||
if line.strip().lower() == 'zfs-ci-type: full':
|
if line.strip().lower() == 'zfs-ci-type: full':
|
||||||
output_type('full', f'explicitly requested by commit {commit_ref}')
|
output_type('full', f'requested by commit {commit_ref}')
|
||||||
|
|
||||||
# check changed files
|
# check changed files
|
||||||
changed_files_raw = subprocess.run([
|
changed_files_raw = subprocess.run([
|
||||||
|
|||||||
22
.github/workflows/scripts/qemu-2-start.sh
vendored
22
.github/workflows/scripts/qemu-2-start.sh
vendored
@ -47,16 +47,15 @@ case "$OS" in
|
|||||||
OSNAME="Archlinux"
|
OSNAME="Archlinux"
|
||||||
URL="https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2"
|
URL="https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2"
|
||||||
;;
|
;;
|
||||||
centos-stream10)
|
|
||||||
OSNAME="CentOS Stream 10"
|
|
||||||
# TODO: #16903 Overwrite OSv to stream9 for virt-install until it's added to osinfo
|
|
||||||
OSv="centos-stream9"
|
|
||||||
URL="https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-10-latest.x86_64.qcow2"
|
|
||||||
;;
|
|
||||||
centos-stream9)
|
centos-stream9)
|
||||||
OSNAME="CentOS Stream 9"
|
OSNAME="CentOS Stream 9"
|
||||||
URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2"
|
URL="https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2"
|
||||||
;;
|
;;
|
||||||
|
centos-stream10)
|
||||||
|
OSNAME="CentOS Stream 10"
|
||||||
|
OSv="centos-stream9"
|
||||||
|
URL="https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-10-latest.x86_64.qcow2"
|
||||||
|
;;
|
||||||
debian11)
|
debian11)
|
||||||
OSNAME="Debian 11"
|
OSNAME="Debian 11"
|
||||||
URL="https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2"
|
URL="https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2"
|
||||||
@ -83,6 +82,11 @@ case "$OS" in
|
|||||||
OSv="fedora-unknown"
|
OSv="fedora-unknown"
|
||||||
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/42/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-42-1.1.x86_64.qcow2"
|
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/42/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-42-1.1.x86_64.qcow2"
|
||||||
;;
|
;;
|
||||||
|
fedora43)
|
||||||
|
OSNAME="Fedora 43"
|
||||||
|
OSv="fedora-unknown"
|
||||||
|
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/43/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-43-1.6.x86_64.qcow2"
|
||||||
|
;;
|
||||||
freebsd13-5r)
|
freebsd13-5r)
|
||||||
FreeBSD="13.5-RELEASE"
|
FreeBSD="13.5-RELEASE"
|
||||||
OSNAME="FreeBSD $FreeBSD"
|
OSNAME="FreeBSD $FreeBSD"
|
||||||
@ -95,8 +99,8 @@ case "$OS" in
|
|||||||
FreeBSD="14.2-RELEASE"
|
FreeBSD="14.2-RELEASE"
|
||||||
OSNAME="FreeBSD $FreeBSD"
|
OSNAME="FreeBSD $FreeBSD"
|
||||||
OSv="freebsd14.0"
|
OSv="freebsd14.0"
|
||||||
KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz"
|
|
||||||
URLxz="$FREEBSD_REL/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI.raw.xz"
|
URLxz="$FREEBSD_REL/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI.raw.xz"
|
||||||
|
KSRC="$FREEBSD_REL/../amd64/$FreeBSD/src.txz"
|
||||||
;;
|
;;
|
||||||
freebsd14-3r)
|
freebsd14-3r)
|
||||||
FreeBSD="14.3-RELEASE"
|
FreeBSD="14.3-RELEASE"
|
||||||
@ -120,8 +124,8 @@ case "$OS" in
|
|||||||
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
|
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
|
||||||
KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz"
|
KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz"
|
||||||
;;
|
;;
|
||||||
freebsd15-0c)
|
freebsd15-0s)
|
||||||
FreeBSD="15.0-ALPHA4"
|
FreeBSD="15.0-STABLE"
|
||||||
OSNAME="FreeBSD $FreeBSD"
|
OSNAME="FreeBSD $FreeBSD"
|
||||||
OSv="freebsd14.0"
|
OSv="freebsd14.0"
|
||||||
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
|
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
|
||||||
|
|||||||
2
.github/workflows/zfs-qemu-packages.yml
vendored
2
.github/workflows/zfs-qemu-packages.yml
vendored
@ -52,7 +52,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42']
|
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora41', 'fedora42', 'fedora43']
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
38
.github/workflows/zfs-qemu.yml
vendored
38
.github/workflows/zfs-qemu.yml
vendored
@ -29,24 +29,34 @@ 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", "debian12", "debian13", "fedora41", "fedora42", "freebsd13-5r", "freebsd14-3s", "freebsd15-0c", "ubuntu22", "ubuntu24"]'
|
ci_type="default"
|
||||||
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"
|
|
||||||
if ${{ github.event_name == 'pull_request' }}; then
|
if ${{ github.event_name == 'pull_request' }}; then
|
||||||
head=${{ github.event.pull_request.head.sha }}
|
head=${{ github.event.pull_request.head.sha }}
|
||||||
base=${{ github.event.pull_request.base.sha }}
|
base=${{ github.event.pull_request.base.sha }}
|
||||||
ci_type=$(python3 .github/workflows/scripts/generate-ci-type.py $head $base)
|
ci_type=$(python3 .github/workflows/scripts/generate-ci-type.py $head $base)
|
||||||
fi
|
fi
|
||||||
if [ "$ci_type" == "quick" ]; then
|
|
||||||
os_selection="$QUICK_OS"
|
case "$ci_type" in
|
||||||
else
|
quick)
|
||||||
os_selection="$FULL_OS"
|
os_selection='["almalinux8", "almalinux9", "almalinux10", "debian12", "fedora42", "freebsd15-0s", "ubuntu24"]'
|
||||||
fi
|
;;
|
||||||
|
linux)
|
||||||
|
os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian11", "debian12", "debian13", "fedora41", "fedora42", "fedora43", "ubuntu22", "ubuntu24"]'
|
||||||
|
;;
|
||||||
|
freebsd)
|
||||||
|
os_selection='["freebsd13-5r", "freebsd14-2r", "freebsd14-3r", "freebsd13-5s", "freebsd14-3s", "freebsd15-0s", "freebsd16-0c"]'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# default list
|
||||||
|
os_selection='["almalinux8", "almalinux9", "almalinux10", "centos-stream9", "centos-stream10", "debian12", "debian13", "fedora42", "fedora43", "freebsd14-3r", "freebsd15-0s", "freebsd16-0c", "ubuntu22", "ubuntu24"]'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if ${{ github.event.inputs.fedora_kernel_ver != '' }}; then
|
if ${{ github.event.inputs.fedora_kernel_ver != '' }}; then
|
||||||
# They specified a custom kernel version for Fedora. Use only
|
# They specified a custom kernel version for Fedora.
|
||||||
# Fedora runners.
|
# Use only Fedora runners.
|
||||||
os_json=$(echo ${os_selection} | jq -c '[.[] | select(startswith("fedora"))]')
|
os_json=$(echo ${os_selection} | jq -c '[.[] | select(startswith("fedora"))]')
|
||||||
else
|
else
|
||||||
# Normal case
|
# Normal case
|
||||||
@ -62,13 +72,13 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# rhl: almalinux8, almalinux9, centos-stream9, fedora4x
|
# rhl: almalinux8, almalinux9, centos-streamX, fedora4x
|
||||||
# debian: debian12, debian13, ubuntu22, ubuntu24
|
# debian: debian12, debian13, ubuntu22, ubuntu24
|
||||||
# misc: archlinux, tumbleweed
|
# misc: archlinux, tumbleweed
|
||||||
# FreeBSD variants of 2025-06:
|
# FreeBSD variants of november 2025:
|
||||||
# FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r
|
# FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r
|
||||||
# FreeBSD Stable: freebsd13-5s, freebsd14-3s
|
# FreeBSD Stable: freebsd13-5s, freebsd14-3s, freebsd15-0s
|
||||||
# FreeBSD Current: freebsd15-0c, freebsd16-0c
|
# FreeBSD Current: freebsd16-0c
|
||||||
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
|
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user