mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-03-22 08:51:30 +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
026d4ee1a9
commit
c62c3aeb13
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:
|
# 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
|
# URL: URL to use instead of http://download.zfsonlinux.org
|
||||||
# If blank, use the default repo from zfs-release RPM.
|
# If blank, use the default repo from zfs-release RPM.
|
||||||
@ -15,6 +19,13 @@ source /etc/os-release
|
|||||||
OS="$ID"
|
OS="$ID"
|
||||||
VERSION="$VERSION_ID"
|
VERSION="$VERSION_ID"
|
||||||
|
|
||||||
|
|
||||||
|
LOOKUP=""
|
||||||
|
if [ -n "$1" ] && [ "$1" == "--lookup" ] ; then
|
||||||
|
LOOKUP=1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
ALTHOST=""
|
ALTHOST=""
|
||||||
if [ -n "$1" ] ; then
|
if [ -n "$1" ] ; then
|
||||||
ALTHOST="$1"
|
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
|
sudo sed -i "s;baseurl=http://download.zfsonlinux.org;baseurl=$host;g" /etc/yum.repos.d/zfs.repo
|
||||||
fi
|
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
|
if ! sudo dnf -y install $args zfs zfs-test ; then
|
||||||
echo "$repo ${package}...[FAILED] $baseurl" >> $SUMMARY
|
echo "$repo ${package}...[FAILED] $baseurl" >> $SUMMARY
|
||||||
return
|
return
|
||||||
@ -54,7 +74,6 @@ function test_install {
|
|||||||
sudo zpool status
|
sudo zpool status
|
||||||
|
|
||||||
# Print out repo name, rpm installed (kmod or dkms), and repo URL
|
# 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')
|
package=$(sudo rpm -qa | grep zfs | grep -E 'kmod|dkms')
|
||||||
|
|
||||||
echo "$repo $package $baseurl" >> $SUMMARY
|
echo "$repo $package $baseurl" >> $SUMMARY
|
||||||
@ -75,7 +94,7 @@ almalinux*)
|
|||||||
sudo rpm -qi zfs-release
|
sudo rpm -qi zfs-release
|
||||||
for i in zfs zfs-kmod zfs-testing zfs-testing-kmod zfs-latest \
|
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-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
|
test_install $i $ALTHOST
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
@ -83,7 +102,7 @@ fedora*)
|
|||||||
url='https://raw.githubusercontent.com/openzfs/openzfs-docs/refs/heads/master/docs/Getting%20Started/Fedora/index.rst'
|
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]+')
|
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
|
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
|
test_install $i $ALTHOST
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
|
|||||||
13
.github/workflows/zfs-qemu-packages.yml
vendored
13
.github/workflows/zfs-qemu-packages.yml
vendored
@ -42,6 +42,12 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
description: "(optional) repo URL (blank: use http://download.zfsonlinux.org)"
|
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:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@ -77,7 +83,12 @@ jobs:
|
|||||||
.github/workflows/scripts/qemu-prepare-for-build.sh
|
.github/workflows/scripts/qemu-prepare-for-build.sh
|
||||||
|
|
||||||
mkdir -p /tmp/repo
|
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
|
else
|
||||||
EXTRA=""
|
EXTRA=""
|
||||||
if [ -n "${{ github.event.inputs.patch_level }}" ] ; then
|
if [ -n "${{ github.event.inputs.patch_level }}" ] ; then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user