-
Notifications
You must be signed in to change notification settings - Fork 0
Phase 6 — Packaging, CI, Tests, and Documentation #6
Copy link
Copy link
Open
Description
Phase 6 — Packaging, CI, Tests, and Documentation
Purpose
Add reproducible environment, automated tests, CI, packaging instructions, and user documentation so the project is buildable and testable by collaborators.
Tasks
-
6.1 Pin dependencies and extras
- Files:
requirements.txt, optionalpyproject.toml - Work: List core and optional dependencies (
mss,opencv-python,numpy,fugashi,pykakasi,websockets/aiohttp,pytest). Add[gpu]extras for model runners. - DoD:
pip install -r requirements.txtsets up testable env.
- Files:
-
6.2 GitHub Actions CI
- File:
.github/workflows/ci.yml - Work: Workflow runs
pytest, lints (ruff/flake8), and caches venv. Runs tests in matrix for Python 3.11 (and 3.10 optional). - DoD: CI runs on PRs and main; unit tests pass in CI.
- File:
-
6.3 Add unit tests for all modules added so far
- Folder:
tests/ - Work: Ensure tests exist for capture, OCR interfaces, translator stubs, overlay ws, voice parser, DB.
- DoD:
pytestlocally passes.
- Folder:
-
6.4 Packaging instructions & PyInstaller spec
- Files:
packaging/pyinstaller.spec,packaging/README.md - Work: Add a PyInstaller spec and written steps to build for Windows/mac with notes on bundled models and large file handling.
- DoD: documented packaging steps; sample spec present.
- Files:
-
6.5 Comprehensive user manual
- File:
docs/USER_MANUAL.md - Work: Quickstart, install steps, voice command reference, overlay setup with OBS, troubleshooting common errors.
- DoD: manual covers start-to-run for MVP features.
- File:
-
6.6 End-to-end smoke test
- File:
tests/e2e/smoke_test.py - Work: Integration test wiring capture->OCR pipeline->translator->overlay broadcast using mocks to validate flow.
- DoD: smoke test runs successfully in CI as a non-GPU job.
- File:
Notes
- Keep packaging notes explicit about models (paths, environment variables) so users can reproduce runs.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels