Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 'zfs-qemu-packages' workflow for RPM building #17005

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tonyhutter
Copy link
Contributor

Motivation and Context

Add Github workflow to build RPMs and test install from a ZFS yum repo.

Description

Add a new 'zfs-qemu-packages' Github workflow for manually building RPMs and test installing ZFS RPMs from a yum repo. The workflow has a dropdown menu in the Github runners tab with two options:

Build RPMs: Build release RPMs and tarballs and put them into an artifact ZIP file. The directory structure used in the ZIP file mirrors the ZFS yum repo.

Test repo: Test install the ZFS RPMs from the ZFS repo. On Almalinux, this will do a DKMS and KMOD test install from both the regular and testing repos. On Fedora, it will do a DKMS install from the regular repo. All test install results will be displayed in the Github runner Summary page. Note that the workflow provides an optional text box where you can specify the full URL to an alternate repo. If left blank, it will install from the default repo from the zfs-release RPM.

image

image

image

Most developers will never need to use this workflow. It is intended to be used by the ZFS admins for building and testing releases.

This commit also modularizes many of the runner scripts so they can be used by both the zfs-qemu and zfs-qemu-packages workflows.

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

@tonyhutter tonyhutter added the Component: Test Suite Indicates an issue with the test framework or a test case label Jan 29, 2025
@tonyhutter
Copy link
Contributor Author

@mcmilk would you mind taking a look at this one?

Copy link
Contributor

@mcmilk mcmilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The zloop workflow calls qemu-3-deps.sh instead of qemu-3-deps-vm.sh - this should be fixed.

@mcmilk
Copy link
Contributor

mcmilk commented Feb 26, 2025

It looks like libunwind is needed by configure within fedora.

@tonyhutter
Copy link
Contributor Author

The zloop workflow calls qemu-3-deps.sh instead of qemu-3-deps-vm.sh - this should be fixed.

I believe what I have is correct. qemu-3-deps.sh should be run on the runner, and qemu-3-deps-vm.sh gets run on the VM. Maybe I'm missing something?

@tonyhutter
Copy link
Contributor Author

It looks like libunwind is needed by configure within fedora.

I added it in my latest push

@tonyhutter
Copy link
Contributor Author

The zloop workflow calls qemu-3-deps.sh instead of qemu-3-deps-vm.sh - this should be fixed.

I believe what I have is correct. qemu-3-deps.sh should be run on the runner, and qemu-3-deps-vm.sh gets run on the VM. Maybe I'm missing something?

Ah now I see - zloop isn't launching a VM, it's running directly on the runner. Let me fix it

Add a new 'zfs-qemu-packages' GH workflow for manually building RPMs
and test installing ZFS RPMs from a yum repo. The workflow has a
dropdown menu in the Github runners tab with two options:

Build RPMs - Build release RPMs and tarballs and put them into an
             artifact ZIP file.  The directory structure used in
             the ZIP file mirrors the ZFS yum repo.

Test repo -  Test install the ZFS RPMs from the ZFS repo.  On
             Almalinux, this will do a DKMS and KMOD test install
             from both the regular and testing repos.  On Fedora,
             it will do a DKMS install from the regular repo.  All
             test install results will be displayed in the Github
             runner Summary page. Note that the workflow provides an
             optional text box where you can specify the full URL to
             an alternate repo.  If left blank, it will install from
             the default repo from the zfs-release RPM.

Most developers will never need to use this workflow.  It is intended
to be used by the ZFS admins for building and testing releases.

This commit also modularizes many of the runner scripts so they can
be used by both the zfs-qemu and zfs-qemu-packages workflows.

Signed-off-by: Tony Hutter <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Test Suite Indicates an issue with the test framework or a test case
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants