mirror_zfs/.github/workflows
Tony Hutter b55256e5bb
runners: Add option to install custom kernel on Fedora
Allow installing a custom kernel version from the Fedora experimental
kernel repos onto the github runners.  This is useful for testing if
ZFS works against a newer kernel.

Fedora has a number of repos with experimental kernel packages. This
PR allows installs from kernels in these repos:

@kernel-vanilla/stable
@kernel-vanilla/mainline
(https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories)

You will need to manually kick of a github runner to test with a custom
kernel version.  To do that, go to the github actions tab under
'zfs-qemu' and click the drop-down for 'run workflow'.  In there you
will see a text box to specify the version (like '6.14').  The scripts
will do their best to match the version to the newest matching version
that the repos support (since they're may be multiple nightly versions
of, say, '6.14').  A full list of kernel versions can be seen in the
dependency stage output if you kick off a manual run.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #17156
2025-05-13 14:43:35 -07:00
..
scripts runners: Add option to install custom kernel on Fedora 2025-05-13 14:43:35 -07:00
checkstyle.yaml Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00
codeql.yml CI: Stick with ubuntu-22.04 for CodeQL analysis 2024-10-11 14:16:00 -07:00
labels.yml CI: Automate some GitHub PR status labels manipulations 2024-11-04 17:16:32 -08:00
README.md Move nodes into correct subgraphs 2024-01-29 09:16:02 -08:00
zfs-qemu-packages.yml CI: Add Fedora 42 runner (#17249) 2025-04-16 17:00:59 -07:00
zfs-qemu.yml runners: Add option to install custom kernel on Fedora 2025-05-13 14:43:35 -07:00
zloop.yml Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00

The testings are done this way

flowchart TB
subgraph CleanUp and Summary
  CleanUp+Summary
end

subgraph Functional Testings
  sanity-checks-20.04
  zloop-checks-20.04
  functional-testing-20.04-->Part1-20.04
  functional-testing-20.04-->Part2-20.04
  functional-testing-20.04-->Part3-20.04
  functional-testing-20.04-->Part4-20.04
  functional-testing-22.04-->Part1-22.04
  functional-testing-22.04-->Part2-22.04
  functional-testing-22.04-->Part3-22.04
  functional-testing-22.04-->Part4-22.04
  sanity-checks-22.04
  zloop-checks-22.04
end

subgraph Code Checking + Building
  Build-Ubuntu-20.04
  codeql.yml
  checkstyle.yml
  Build-Ubuntu-22.04
end

  Build-Ubuntu-20.04-->sanity-checks-20.04
  Build-Ubuntu-20.04-->zloop-checks-20.04
  Build-Ubuntu-20.04-->functional-testing-20.04
  Build-Ubuntu-22.04-->sanity-checks-22.04
  Build-Ubuntu-22.04-->zloop-checks-22.04
  Build-Ubuntu-22.04-->functional-testing-22.04

  sanity-checks-20.04-->CleanUp+Summary
  Part1-20.04-->CleanUp+Summary
  Part2-20.04-->CleanUp+Summary
  Part3-20.04-->CleanUp+Summary
  Part4-20.04-->CleanUp+Summary
  Part1-22.04-->CleanUp+Summary
  Part2-22.04-->CleanUp+Summary
  Part3-22.04-->CleanUp+Summary
  Part4-22.04-->CleanUp+Summary
  sanity-checks-22.04-->CleanUp+Summary
  1. build zfs modules for Ubuntu 20.04 and 22.04 (~15m)
  2. 2x zloop test (~10m) + 2x sanity test (~25m)
  3. 4x functional testings in parts 1..4 (each ~1h)
  4. cleanup and create summary
    • content of summary depends on the results of the steps

When everything runs fine, the full run should be done in about 2 hours.

The codeql.yml and checkstyle.yml are not part in this circle.