This is a mini implementation of the real workflow used by Odoo in Odoo-Runbot and the workflow using in the platform Odoo.sh
This workdflow take a testing branch and prepare a database, install modules, start Odoo instance, export a port, check that everything works and cleaning everything up afterward.
A build can: - resolve a Git branch or tag - prepare an isolated checkout - install selected Odoo modules - run Odoo test - start Odoo instance - test an HTTP healtcheck - expose a temporary preview - destoy the environment when it is no longer needed
The project is written mainly in Python, using FastAPI, Typer and Codex.
It is intentionally a small and single-host PoC, thats not a replacement for Odoo official runbot, I wanted to explore a lightweight preview environment platform.
The applications is available on PyPI: pipx install mini-runbot
Docs: https://rafnixg.github.io/odoo-platform-ephemeral-environmen...
Source: https://github.com/rafnixg/odoo-platform-ephemeral-environme...
PyPI: https://pypi.org/project/mini-runbot/
The next areas I am exploring are GitHub Pull Request integration, workers and job scheduling, observability, concurrency, and eventually distributed execution.
I would especially appreciate feedback from people working with Python, Odoo, CI/CD, or Platform Engineering on the architecture and isolation model.