mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-03-11 21:06:18 +03:00
CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode
The qemu-test-repo-vm.sh script tests installs ZFS from different repos. Have it test from the new 2.4.x repos as well. Also add a checkbox to run in "lookup mode". This just does a quick lookup to see what version is installed in each repo. It does not do a test install and module load. It only takes 3min to run vs over an hour for the full version. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #18070
This commit is contained in:
parent
0d44b58d7f
commit
648a9a2938
27
.github/workflows/scripts/qemu-test-repo-vm.sh
vendored
27
.github/workflows/scripts/qemu-test-repo-vm.sh
vendored
@ -4,7 +4,11 @@
|
||||
#
|
||||
# USAGE:
|
||||
#
|
||||
# ./qemu-test-repo-vm [URL]
|
||||
# ./qemu-test-repo-vm [--install] [URL]
|
||||
#
|
||||
# --lookup: When testing a repo, only lookup the latest package versions,
|
||||
# don't try to install them. Installing all of them takes over
|
||||
# an hour, so this is much quicker.
|
||||
#
|
||||
# URL: URL to use instead of http://download.zfsonlinux.org
|
||||
# If blank, use the default repo from zfs-release RPM.
|
||||
@ -15,6 +19,13 @@ source /etc/os-release
|
||||
OS="$ID"
|
||||
VERSION="$VERSION_ID"
|
||||
|
||||
|
||||
LOOKUP=""
|
||||
if [ -n "$1" ] && [ "$1" == "--lookup" ] ; then
|
||||
LOOKUP=1
|
||||
shift
|
||||
fi
|
||||
|
||||
ALTHOST=""
|
||||
if [ -n "$1" ] ; then
|
||||
ALTHOST="$1"
|
||||
@ -42,6 +53,15 @@ function test_install {
|
||||
sudo sed -i "s;baseurl=http://download.zfsonlinux.org;baseurl=$host;g" /etc/yum.repos.d/zfs.repo
|
||||
fi
|
||||
|
||||
baseurl=$(grep -A 5 "\[$repo\]" /etc/yum.repos.d/zfs.repo | awk -F'=' '/baseurl=/{print $2; exit}')
|
||||
|
||||
# Just do a version lookup - don't try to install any RPMs
|
||||
if [ "$LOOKUP" == "1" ] ; then
|
||||
package="$(dnf list $args zfs | tail -n 1 | awk '{print $2}')"
|
||||
echo "$repo ${package} $baseurl" >> $SUMMARY
|
||||
return
|
||||
fi
|
||||
|
||||
if ! sudo dnf -y install $args zfs zfs-test ; then
|
||||
echo "$repo ${package}...[FAILED] $baseurl" >> $SUMMARY
|
||||
return
|
||||
@ -54,7 +74,6 @@ function test_install {
|
||||
sudo zpool status
|
||||
|
||||
# Print out repo name, rpm installed (kmod or dkms), and repo URL
|
||||
baseurl=$(grep -A 5 "\[$repo\]" /etc/yum.repos.d/zfs.repo | awk -F'=' '/baseurl=/{print $2; exit}')
|
||||
package=$(sudo rpm -qa | grep zfs | grep -E 'kmod|dkms')
|
||||
|
||||
echo "$repo $package $baseurl" >> $SUMMARY
|
||||
@ -75,7 +94,7 @@ almalinux*)
|
||||
sudo rpm -qi zfs-release
|
||||
for i in zfs zfs-kmod zfs-testing zfs-testing-kmod zfs-latest \
|
||||
zfs-latest-kmod zfs-legacy zfs-legacy-kmod zfs-2.2 \
|
||||
zfs-2.2-kmod zfs-2.3 zfs-2.3-kmod ; do
|
||||
zfs-2.2-kmod zfs-2.3 zfs-2.3-kmod zfs-2.4 zfs-2.4-kmod; do
|
||||
test_install $i $ALTHOST
|
||||
done
|
||||
;;
|
||||
@ -83,7 +102,7 @@ fedora*)
|
||||
url='https://raw.githubusercontent.com/openzfs/openzfs-docs/refs/heads/master/docs/Getting%20Started/Fedora/index.rst'
|
||||
name=$(curl -Ls $url | grep 'dnf install' | grep -Eo 'zfs-release-[0-9]+-[0-9]+')
|
||||
sudo dnf -y install -y https://zfsonlinux.org/fedora/$name$(rpm --eval "%{dist}").noarch.rpm
|
||||
for i in zfs zfs-latest zfs-legacy zfs-2.2 zfs-2.3 ; do
|
||||
for i in zfs zfs-latest zfs-legacy zfs-2.2 zfs-2.3 zfs-2.4 ; do
|
||||
test_install $i $ALTHOST
|
||||
done
|
||||
;;
|
||||
|
||||
13
.github/workflows/zfs-qemu-packages.yml
vendored
13
.github/workflows/zfs-qemu-packages.yml
vendored
@ -42,6 +42,12 @@ on:
|
||||
required: false
|
||||
default: ""
|
||||
description: "(optional) repo URL (blank: use http://download.zfsonlinux.org)"
|
||||
lookup:
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
description: "(optional) do version lookup only on repo test"
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
@ -77,7 +83,12 @@ jobs:
|
||||
.github/workflows/scripts/qemu-prepare-for-build.sh
|
||||
|
||||
mkdir -p /tmp/repo
|
||||
ssh zfs@vm0 '$HOME/zfs/.github/workflows/scripts/qemu-test-repo-vm.sh' ${{ github.event.inputs.repo_url }}
|
||||
EXTRA=""
|
||||
if [ "${{ github.event.inputs.lookup }}" == 'true' ] ; then
|
||||
EXTRA="--lookup"
|
||||
fi
|
||||
|
||||
ssh zfs@vm0 '$HOME/zfs/.github/workflows/scripts/qemu-test-repo-vm.sh' $EXTRA ${{ github.event.inputs.repo_url }}
|
||||
else
|
||||
EXTRA=""
|
||||
if [ -n "${{ github.event.inputs.patch_level }}" ] ; then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user