Workflow structure is complete (path filters, matrix, services). The 'Install Odoo 19' step is a TODO placeholder — the reproducible Odoo-19 build environment is deferred to Phase 1 CI hardening. Current Phase 0 test workflow is manual via ssh odoo-westin. Made-with: Cursor
42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# 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 <sub_module> \
|
|
--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
|