# CI Currently Manual (Phase 0 note) The CI yaml at `.gitea/workflows/fusion_accounting_ci.yml` (or `.github/`) describes the target workflow, but the `Install Odoo 19` step is a TODO placeholder in Phase 0 because the repo does not yet pin a reproducible Odoo 19 build environment for CI runners. ## Current workflow (Phase 0) Tests are run manually via the dev server: ssh odoo-westin "docker exec odoo-dev-app odoo -d westin-v19 \ --test-tags post_install --stop-after-init --no-http \ -c /etc/odoo/odoo.conf -u \ --log-handler=odoo.tests:INFO" This pattern is embedded in the Phase 0 plan's per-task verification steps. ## To activate CI (deferred to Phase 1) Three realistic approaches: 1. **Dockerfile + DinD**: Build a reproducible Odoo-19 image in the repo (e.g. `docker/odoo-19.Dockerfile`). CI runner uses Docker-in-Docker. Slowest to boot, fully reproducible. 2. **Self-hosted runner on odoo-westin**: Register a runner on the existing dev box. Tests run against a throwaway DB (per-CI-run). Fastest; ties CI to odoo-westin availability. 3. **Pip-installable Odoo**: `pip install odoo==19.0.*` (if Odoo publishes wheels that match the Enterprise-aware build). Simplest if it works. Pick when Phase 1 (Bank Reconciliation) begins — Phase 1 benefits from automated test runs because its scope is broader than Phase 0's. ## What the current yaml gets right - Path filters only trigger on fusion_accounting* changes - Matrix tests each sub-module independently - Python deps (anthropic, openai) preinstalled - PostgreSQL 15 service wired - Odoo stdout/stderr captured at INFO level to see test results