Squash-merge of fix/ci-pipeline-corrections. Drives the full test suite
to 69/69 green on the ITSulu K8s cluster and fixes two production bugs.
Production fixes:
- Email template migrated from dead Odoo Mako (${}/% for) to Odoo 17
inline_template ({{ }}) + qweb body (type="html", t-out/t-foreach/t-if).
Notification emails previously rendered raw code in the subject/body.
- _create_blog_post now writes 'content': llm_response.body_html — every
auto-generated post was publishing empty.
- Removed duplicate itsulu_social_id field (startup warning).
Testing & infra:
- CI pipeline corrected (stage order, DB auth, junit artifact, addons path).
- E2E moved to ephemeral jobs in the itsulu-testing K8s namespace.
- Test code brought up to Odoo 17 (mail rendering, blog.post.content,
pytest-bdd env fixture, _render_field).
Versioning:
- Introduce MAJOR.MINOR.PATCH scheme, VERSION file, scripts/bump-version.sh,
CHANGELOG.md; first release v0.4.8. CLAUDE.md §15 documents the process.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
1.1 KiB
Docker
27 lines
1.1 KiB
Docker
FROM odoo:17.0
|
|
|
|
# Install Python testing dependencies using the system Python
|
|
RUN python3 -m pip install --no-cache-dir \
|
|
pytest \
|
|
pytest-odoo \
|
|
pytest-bdd \
|
|
pytest-cov \
|
|
pytest-html \
|
|
requests
|
|
|
|
# Copy addon to Odoo addons path
|
|
RUN mkdir -p /mnt/extra-addons && chmod 777 /mnt/extra-addons
|
|
COPY --chown=odoo:odoo addons/itsulu_blog_publisher /mnt/extra-addons/itsulu_blog_publisher
|
|
|
|
# Copy root conftest.py to parent of addons so pytest-bdd fixtures (odoo_env) are discovered
|
|
# when running pytest against /mnt/extra-addons/... (pytest traverses up to find conftest files)
|
|
COPY --chown=odoo:odoo conftest.py /mnt/extra-addons/conftest.py
|
|
|
|
# Symlink addon into Odoo's default addons directory so Odoo can find it
|
|
RUN mkdir -p /var/lib/odoo/addons && ln -s /mnt/extra-addons/itsulu_blog_publisher /var/lib/odoo/addons/itsulu_blog_publisher
|
|
|
|
# Set working directory to a temp location for test running
|
|
WORKDIR /tmp/test
|
|
|
|
# Default command runs tests (can be overridden)
|
|
CMD ["python3", "-m", "pytest", "tests/", "-v", "--html=/tmp/report.html", "--self-contained-html"]
|