mirror_zfs/.github/workflows/scripts
Alexander Moch b9b84445ea
CI: Add Alpine Linux 3.23 runner to the pipeline (#18087)
Add an Alpine Linux 3.23 runner to the CI chain to run OpenZFS builds
and tests against musl libc.

Currently, zfs_send_sparse is killed after 10 minutes on Alpine, causing
cascading EBUSY failures in the test suite. With zfs_send_sparse
disabled, the ZFS test suite reaches a pass rate of 94.62%.

This commit introduces the required Alpine-specific setup and a small
set of shell and cloud-init compatibility fixes that also apply to
existing Linux runners.

The Alpine runner is not enabled by default and is not executed for new
pull requests.

Sponsored-by: ERNW Research GmbH - https://ernw-research.de/

Signed-off-by: Alexander Moch <amoch@ernw.de>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
2025-12-30 09:29:48 -08:00
..
generate-ci-type.py CI: Update FreeBSD versions and ci-type handling 2025-11-05 09:56:17 -08:00
merge_summary.awk ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
qemu-1-setup.sh CI: Use Ubuntu mirrors instead of azure (#18057) 2025-12-16 09:15:18 -08:00
qemu-2-start.sh CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
qemu-3-deps-vm.sh CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
qemu-3-deps.sh runners: Add option to install custom kernel on Fedora 2025-05-13 14:43:35 -07:00
qemu-4-build-vm.sh During CI, use nproc instead of sysctl -n hw.ncpu 2025-12-04 16:57:15 -08:00
qemu-4-build.sh Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00
qemu-5-setup.sh CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
qemu-6-tests.sh CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
qemu-7-prepare.sh ZTS: Optimize KSM on Linux and remove it for FreeBSD 2025-04-29 15:27:47 -04:00
qemu-8-summary.sh ZTS: Optimize KSM on Linux and remove it for FreeBSD 2025-04-29 15:27:47 -04:00
qemu-9-summary-page.sh ZTS: Fix summary page creation again - second try 2024-10-06 14:32:08 -07:00
qemu-prepare-for-build.sh Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00
qemu-test-repo-vm.sh CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode 2025-12-19 19:57:19 -08:00
qemu-wait-for-vm.sh Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00
README.md ZTS: Use QEMU for tests on Linux and FreeBSD 2024-09-17 12:03:27 -07:00
replace-dupes-with-symlinks.sh Add 'zfs-qemu-packages' workflow for RPM building 2025-03-05 09:19:56 -08:00

Workflow for each operating system:

  • install qemu on the github runner
  • download current cloud image of operating system
  • start and init that image via cloud-init
  • install dependencies and poweroff system
  • start system and build openzfs and then poweroff again
  • clone build system and start 2 instances of it
  • run functional testings and complete in around 3h
  • when tests are done, do some logfile preparing
  • show detailed results for each system
  • in the end, generate the job summary

/TR 14.09.2024