Ship the portable X11 bundle lifecycle
Some checks are pending
ci / test-and-build (push) Waiting to run

Implement milestone 2 around a portable X11 release bundle instead of\nkeeping distro packages as the only end-user path.\n\nAdd make/package scripts plus a portable installer helper that builds the\ntarball, creates a user-scoped venv install, manages the user service, handles\nupgrade rollback, and supports uninstall with optional purge.\n\nFlip the end-user docs to the portable bundle, add a dedicated install guide\nand validation matrix, and leave the roadmap milestone open only for the\nremaining manual distro validation evidence.\n\nValidation: python3 -m py_compile src/*.py packaging/portable/portable_installer.py tests/test_portable_bundle.py; PYTHONPATH=src python3 -m unittest tests.test_portable_bundle; PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_diagnostics tests.test_portable_bundle; PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'
This commit is contained in:
Thales Maciel 2026-03-12 15:01:26 -03:00
parent 511fab683a
commit a3368056ff
No known key found for this signature in database
GPG key ID: 33112E6833C34679
15 changed files with 1372 additions and 45 deletions

View file

@ -0,0 +1,43 @@
# Portable Validation Matrix
This document tracks milestone 2 and GA validation evidence for the portable
X11 bundle.
## Automated evidence
Completed on 2026-03-12:
- `PYTHONPATH=src python3 -m unittest tests.test_portable_bundle`
- covers bundle packaging shape, fresh install, upgrade, uninstall, purge,
unmanaged-conflict fail-fast behavior, and rollback after service-start
failure
- `PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_diagnostics tests.test_portable_bundle`
- confirms portable bundle work did not regress the CLI help or diagnostics
surfaces used in the support flow
## Manual distro validation
These rows must be filled with real results before milestone 2 can be closed as
fully complete for GA evidence.
| Distro family | Fresh install | First service start | Upgrade | Uninstall | Reinstall | Reboot or service restart | Missing dependency recovery | Conflict with prior package install | Reviewer | Status | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Debian/Ubuntu | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
| Arch | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
| Fedora | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
| openSUSE | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
## Required release scenarios
Every row above must cover:
- runtime dependencies installed with the documented distro command
- bundle checksum verified
- `./install.sh` succeeds
- `systemctl --user enable --now aman` succeeds through the installer
- first launch reaches the normal settings or tray workflow
- upgrade preserves `~/.config/aman/` and `~/.cache/aman/`
- uninstall removes the command shim and user service cleanly
- reinstall succeeds after uninstall
- missing dependency path gives actionable remediation
- pre-existing distro package or unmanaged shim conflict fails clearly