Ship the portable X11 bundle lifecycle
Some checks are pending
ci / test-and-build (push) Waiting to run
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:
parent
511fab683a
commit
a3368056ff
15 changed files with 1372 additions and 45 deletions
|
|
@ -33,7 +33,7 @@ The GA support promise for Aman should be:
|
|||
|
||||
- Linux desktop sessions running X11.
|
||||
- Mainstream distros with `systemd --user` available.
|
||||
- System `python3` 3.10+ available for the portable installer.
|
||||
- System CPython `3.10`, `3.11`, or `3.12` available for the portable installer.
|
||||
- Runtime dependencies installed from the distro package manager.
|
||||
- Service mode is the default end-user mode.
|
||||
- Foreground `aman run` remains a support and debugging path, not the primary daily-use path.
|
||||
|
|
@ -87,7 +87,11 @@ Any future docs, tray copy, and release notes should point users to this same se
|
|||
the GA contract; `docs/release-checklist.md` now includes GA signoff gates;
|
||||
CLI help text now matches the same service/support language.
|
||||
- [ ] [Milestone 2: Portable Install, Update, and Uninstall](./02-portable-install-update-uninstall.md)
|
||||
Build one reliable end-user lifecycle that works across mainstream X11 distros.
|
||||
Implementation landed on 2026-03-12: the portable bundle, installer,
|
||||
uninstaller, docs, and automated lifecycle tests are in the repo. Leave this
|
||||
milestone open until the representative distro rows in
|
||||
[`portable-validation-matrix.md`](./portable-validation-matrix.md) are filled
|
||||
with real manual validation evidence.
|
||||
- [ ] [Milestone 3: Runtime Reliability and Diagnostics](./03-runtime-reliability-and-diagnostics.md)
|
||||
Make startup, failure handling, and recovery predictable.
|
||||
- [ ] [Milestone 4: First-Run UX and Support Docs](./04-first-run-ux-and-support-docs.md)
|
||||
|
|
|
|||
43
docs/x11-ga/portable-validation-matrix.md
Normal file
43
docs/x11-ga/portable-validation-matrix.md
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue