Testing & QA
Parch has no dedicated QA team: quality comes from conventions every contributor follows. This section turns those conventions into concrete, reusable test plans.
Testing applications
Unit, integration, GUI, accessibility, and localization testing for apps.
Testing packages
The package test plan: build, install, upgrade, remove, and dependency validation.
Testing ISOs
The ISO release test plan: boot, installer, post-install, and hardware.
CI/CD
GitHub Actions as Parch uses it: ISO builds per release and app CI.
Performance & hardware
Boot time, resource budgets, and real-hardware compatibility passes.
The three canonical test plans
Everything else is a variation of three plans. Copy them into your PR description and tick the boxes:
Application plan
Build from clean checkout, unit tests pass, launch on Wayland, exercise the primary flow, keyboard-only pass, dark theme, Persian locale, then package it and repeat after
pacman -U.Package plan
Clean chroot build,
namcapclean, install/upgrade/remove cycle, file list review, dependency check (lddfor binaries), desktop file validation. Detail in testing packages.ISO plan
Build from the profile, boot in QEMU (BIOS and UEFI), installer run with auto and manual partitioning, post-install boot and update, then one real-hardware pass before release. Detail in testing ISOs.
Principles
- Test on a system that looks like a user's: current packages, one desktop, real fonts. A pristine build machine hides integration bugs.
- Write down what you tested. Untested claims do not count; the PR description is the test report.
- Automate the boring parts (builds, linting, boot smoke tests) and spend human attention on the parts that need judgment (UX, RTL, installer edge cases).
- Regressions get tests. Every bug that ships once should be caught automatically the second time.