Mini-Runbot for Odoo 16 (PoC)
Mini-Runbot turns configured Git revisions and Odoo module lists into isolated, tested, temporary Odoo 16 environments. It is a local, single-host proof of concept for trusted repositories, not a security boundary for hostile code.
Documentation
- Documentación en español
- English documentation
- Documentation sources
- Explore the codebase in DeepWiki
- Changelog
The bilingual portal is the canonical project documentation. It covers installation on Windows and Linux, configuration, dashboard and CLI usage, the HTTP API, operations, security limits, testing, the roadmap, and architecture decisions. Its technical guides connect behavior to the current implementation:
- Domain model and lifecycle
- Eight-stage build pipeline
- Concurrency, cleanup, and recovery
- Ports and adapters
- Troubleshooting and operator runbook
- CI/CD and automated security
- Glossary
DeepWiki provides a generated, code-oriented view that complements the maintained portal; when the two differ, the repository documentation and implementation are authoritative.
License
Mini-Runbot is released under the GNU Affero General Public License, version 3 or later. Network users of modified versions must be offered the corresponding source code as required by the license.
Quick start
Python 3.12, Git, and Docker Compose v2 are required. On Windows, use Docker Desktop with Linux containers; on Linux, use Docker Engine with the Compose v2 plugin.
PyPI application
Mini-Runbot is packaged as a CLI application. After the first PyPI release, install it in an
isolated environment with pipx:
pipx install mini-runbot
mini-runbot init
Until that release, clone the repository and run pipx install ., or use the development setup
below. init asks for runtime and allowed-repository settings and refuses to overwrite an existing
config.local.yaml. Use mini-runbot init --defaults for the bundled example values.
Development installation
Windows · PowerShell
py -3.12 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
mini-runbot init
$env:MINI_RUNBOT_CONFIG = (Resolve-Path config.local.yaml)
mini-runbot doctor
mini-runbot serve --reload
Linux · Bash
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
mini-runbot init
export MINI_RUNBOT_CONFIG="$(realpath config.local.yaml)"
mini-runbot doctor
mini-runbot serve --reload
Open http://127.0.0.1:8000, or create a build from the CLI:
mini-runbot build create --repo custom --ref 16.0 --modules module_a,module_b --run
Repository inputs are configured aliases, never arbitrary URLs or filesystem paths supplied by a client.
Local checks
The same commands work in an activated PowerShell or Bash environment:
python -m pip install -e ".[dev,docs]"
python -m pytest -m "not docker"
python -m ruff check .
node --check src/mini_runbot/web/app.js
python -m build
python scripts/check_distribution.py dist
python scripts/check_docs.py
python -m mkdocs build --strict --config-file gh-docs/mkdocs.es.yml --site-dir ../site
python -m mkdocs build --strict --config-file gh-docs/mkdocs.en.yml --site-dir ../site/en
git diff --check
Docker-marked end-to-end tests remain an explicit local check because they require a working daemon, image registry access, and real Odoo startup.
Release files for mini-runbot 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mini_runbot-0.2.1.tar.gz | 52.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mini_runbot-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.2 kB
Release files / mini_runbot-0.2.1.tar.gz
| Download URL | mini_runbot-0.2.1.tar.gz |
|---|---|
| Size | 52.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf83cb0e4e526e7960ee32ee3cf02e14b015c3b1b6b799ef361600b2bbd66a0d
|
|
BLAKE2b-256 checksum How to use checksums |
fc45447953cbfa32d062cd25d08d943b18cd44f29de5c7516c664f543dcab852
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency logRelease files / mini_runbot-0.2.1-py3-none-any.whl
| Download URL | mini_runbot-0.2.1-py3-none-any.whl |
|---|---|
| Size | 59.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
250ac619794c4971e4239b151cb556d9950bdbaf555d327ea9727607d02aebcc
|
|
BLAKE2b-256 checksum How to use checksums |
fce311ec6bd43cfcc01678a05387b35bd22fe058fec88f4de4062e09362faf72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency log