source: handbook ch. 17, 19, 42
Testing ISOs
The command-level guide lives in Testing an ISO. This page is the release test plan: what must pass before a stable tag.
Pre-flight
[ ] Build from clean checkout sudo ./build.sh (or mkarchiso -v iso/)
[ ] Output present out/*.iso + checksums (md5sums.txt)
[ ] Size sane desktop editions fit a DVD (<= 4.7 GB)
[ ] Boot media written USB with dd or Ventoy verified
Boot matrix
Every edition release boots in all four combinations before tagging:
[ ] QEMU BIOS qemu-system-x86_64 -m 4G -display gtk -cdrom out/*.iso
[ ] QEMU UEFI (with OVMF firmware) -bios /usr/share/ovmf/x64/OVMF_CODE.fd
[ ] Real hardware, BIOS mode
[ ] Real hardware, UEFI mode (incl. Secure Boot off)
In each: live session starts, autologin reaches the desktop, network comes up (networkd DHCP), audio is unmuted, and the installer icon is present.
Installer pass
[ ] Auto partitioning install completes (erase disk, ext4)
[ ] Manual partitioning completes (custom /, /home, ESP)
[ ] Btrfs path completes with the Parch preset (zstd compression)
[ ] Locale selection: fa_IR and en_US both produce working systems
[ ] User creation lands in wheel; sudo works after first boot
[ ] Reboot without media lands in the installed system
Post-install validation
[ ] First boot reaches the desktop (SDDM or GDM themed)
[ ] pacman -Syu completes from the fresh install
[ ] world repo reachable: pacman -Sl world non-empty
[ ] Persian fonts render (Estedad visible in any Persian text)
[ ] Kernel and firmware installed (uname -r, dmesg clean of microcode errors)
[ ] Shutdown and reboot cleanly
Regression watch
Compare against the previous release on the same hardware: boot time (note it), memory at idle (free -m after boot), and the failure list from the last release's notes. A release that fixes one thing and quietly breaks another is worse than a delayed release.
When a check fails
Failures on the boot or installer matrix block the release. Fix forward in the profile, rebuild, and restart the matrix from the top (a fix late in the chain can invalidate earlier steps). Document the failure and the fix in the release notes; test plans that hide failures get repeated failures.