itsulu-blog-publisher/Dockerfile
2026-05-30 15:09:41 -04:00

30 lines
1.3 KiB
Docker

FROM odoo:19.0
# Install Python testing dependencies.
# odoo:19.0 ships Python 3.12 (Debian 12 Bookworm) which marks the system Python
# as externally-managed (PEP 668). Use --break-system-packages for the test tools
# — this is a single-purpose container, not a shared Python install.
RUN python3 -m pip install --no-cache-dir --break-system-packages \
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"]