mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 19:04:45 +03:00
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>
This commit is contained in:
committed by
Tony Hutter
parent
8e946b5ae8
commit
8dec2d94b4
@@ -10,6 +10,32 @@
|
||||
|
||||
set -eu
|
||||
|
||||
function alpine() {
|
||||
echo "##[group]Install Development Tools"
|
||||
sudo apk add \
|
||||
acl alpine-sdk attr autoconf automake bash build-base clang21 coreutils \
|
||||
cpio cryptsetup curl curl-dev dhcpcd eudev eudev-dev eudev-libs findutils \
|
||||
fio gawk gdb gettext-dev git grep jq libaio libaio-dev libcurl \
|
||||
libtirpc-dev libtool libunwind libunwind-dev linux-headers linux-tools \
|
||||
linux-virt linux-virt-dev lsscsi m4 make nfs-utils openssl-dev parted \
|
||||
pax procps py3-cffi py3-distlib py3-packaging py3-setuptools python3 \
|
||||
python3-dev qemu-guest-agent rng-tools rsync samba samba-server sed \
|
||||
strace sysstat util-linux util-linux-dev wget words xfsprogs xxhash \
|
||||
zlib-dev pamtester@testing
|
||||
echo "##[endgroup]"
|
||||
|
||||
echo "##[group]Switch to eudev"
|
||||
sudo setup-devd udev
|
||||
echo "##[endgroup]"
|
||||
|
||||
echo "##[group]Install ksh93 from Source"
|
||||
git clone --depth 1 https://github.com/ksh93/ksh.git /tmp/ksh
|
||||
cd /tmp/ksh
|
||||
./bin/package make
|
||||
sudo ./bin/package install /
|
||||
echo "##[endgroup]"
|
||||
}
|
||||
|
||||
function archlinux() {
|
||||
echo "##[group]Running pacman -Syu"
|
||||
sudo btrfs filesystem resize max /
|
||||
@@ -27,6 +53,10 @@ function archlinux() {
|
||||
function debian() {
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
echo "##[group]Wait for cloud-init to finish"
|
||||
cloud-init status --wait
|
||||
echo "##[endgroup]"
|
||||
|
||||
echo "##[group]Running apt-get update+upgrade"
|
||||
sudo sed -i '/[[:alpha:]]-backports/d' /etc/apt/sources.list
|
||||
sudo apt-get update -y
|
||||
@@ -140,6 +170,9 @@ case "$1" in
|
||||
sudo dnf install -y kernel-abi-stablelists
|
||||
echo "##[endgroup]"
|
||||
;;
|
||||
alpine*)
|
||||
alpine
|
||||
;;
|
||||
archlinux)
|
||||
archlinux
|
||||
;;
|
||||
@@ -188,6 +221,16 @@ test -z "${ONLY_DEPS:-}" || exit 0
|
||||
# Start services
|
||||
echo "##[group]Enable services"
|
||||
case "$1" in
|
||||
alpine*)
|
||||
sudo -E rc-update add qemu-guest-agent
|
||||
sudo -E rc-update add nfs
|
||||
sudo -E rc-update add samba
|
||||
sudo -E rc-update add dhcpcd
|
||||
# Remove services related to cloud-init.
|
||||
sudo -E rc-update del cloud-init default
|
||||
sudo -E rc-update del cloud-final default
|
||||
sudo -E rc-update del cloud-config default
|
||||
;;
|
||||
freebsd*)
|
||||
# add virtio things
|
||||
echo 'virtio_load="YES"' | sudo -E tee -a /boot/loader.conf
|
||||
@@ -243,7 +286,7 @@ case "$1" in
|
||||
esac
|
||||
|
||||
case "$1" in
|
||||
archlinux|freebsd*)
|
||||
alpine*|archlinux|freebsd*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user