4 Testing
Luchesar ILIEV edited this page 2026-07-12 17:38:31 +03:00

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.