6 Testing
Luchesar ILIEV via Kerberiel edited this page 2026-09-10 16:33:12 +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 stores the resulting unsigned repository as a short-lived workflow artifact. It uses a read-only repository token, so once admitted by repository policy, external-fork workflows can receive the same package-generation and clean-chroot build validation as pull requests from organization branches. Depending on repository settings, a fork run may start automatically rather than receive individual maintainer approval.

These artifacts contain output influenced by unreviewed contributor code. Use them only in a disposable test environment, and do not treat their download URL as an ArchZFS distribution channel. A successful run may include signed kernel packages reused from failover after an individual kernel-family build failure; inspect the log before claiming that every package was built from the pull request.

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.