Testing
Current GitHub Actions Boundary
The pull-request workflow builds stable-version package recipes in the same
privileged container used by the release path and updates a mutable testing
prerelease when repository permissions allow. This validates package generation
and clean-chroot builds.
It does not currently run a full OpenZFS runtime, boot, upgrade, or
data-integrity suite. A successful package build must not be described as full
filesystem validation.
Release-infrastructure changes may require validation in the separate
archzfs-testing fork because normal pull-request credentials cannot safely
exercise release creation, replacement, deletion, and tag movement. Its
releases are staging artifacts, not end-user repositories.
Historical VM Harness
The scripts under testing/ require root, KVM/QEMU, old Packer integration,
hard-coded NFS resources, and other environment-specific dependencies. Guest
setup wipes the test VM's /dev/vda, and the acceptance checks are unfinished.
Do not run testing/test.sh on an unreviewed environment or cite it as the
current CI-equivalent test command. The material remains in the repository for
historical reference pending a separate investigation and replacement design.
For shell-only changes, run bash -n on changed Bash scripts and
git diff --check at minimum. Changes to the initcpio hook also require an
ash-compatible parse check rather than Bash validation alone.