Repository navigation
MANIMA v0.2.0 makes the server deployable by someone other than its author, and puts CI in front of it. No change to core/, adapters/, server.py, or the render Dockerfile's contents — this is packaging and guarding, not new tool behaviour.
Deployment
- One-command render-only deploy (
make deploy): builds the pinned render image, verifies the container daemon, and proves a scene renders — needs only a container host, no GPU / vLLM / Qdrant. - Generate path is an explicit opt-in compose profile (
make generate-up), never a prerequisite for render (invariant 6). - Single
.env.exampleenumerating everyMANIMA_*knob; pinned dependency locks per package (requirements.lock, generated on Linux/py3.12). - Deployment smoke test asserts a scene actually reached
SUCCEEDEDwith a retrievable artifact — verified live under rootless podman (a 4344-byte MP4 from a trivial Circle scene).
CI pipeline
- Offline test suites (
manima_server+harness),rufflint,hadolint, andopenspec validate --specs --stricton every push / PR — all GPU-free. - Render-image build verified on every relevant change; publication to
ghcr.io/groscy/manima-rendergated to release tags, authenticated with the built-in workflow token. - The generate/GPU surface (Apertus/vLLM, Qdrant grounding) is declared out of CI scope, not faked green — a GPU-less runner cannot exercise it.
Published on this tag
ghcr.io/groscy/manima-render:pinned and ghcr.io/groscy/manima-render:0.18.1 (Manim CE 0.18.1).