Makefile
Rama main · réplica de lectura del repositorio original.
# Lyra — commandes uniques (regle testing homelab : une commande par projet)
# .venv si present, sinon python3 (surcharge possible : make test PY=...)
PY ?= $(if $(wildcard .venv/bin/python),.venv/bin/python,python3)
.PHONY: test smoke smoke-daemon campaign test-all bench bench-daemon bench-regles bench-tts bench-modeles
# Suite pytest complete (unit + integration + e2e)
test:
$(PY) -m pytest tests/ -q
# Smoke des serveurs MCP (spawn + initialize + tools/list, report tracking)
smoke:
$(PY) scripts/smoke_mcps.py
# Smoke du demon en cours (hello, ping, health, analyze, refus sans humain) : n'execute rien
smoke-daemon:
$(PY) scripts/smoke_daemon.py
# Campagne de detection 152 requetes (dry-run regles + one-shot Ollama)
campaign:
$(PY) tests/test_campaign_oneshot.py
# Tout : pytest + smoke + campagne
test-all: test smoke campaign
installer-ui: ## Rebuild le frontend de l'app d'installation (commite dans app/backend/static)
cd installer/app/frontend && npm install && npm run build
# Inventaire des licences des dependances (verifie en CI)
licenses:
# Même environnement que la CI (extra dev, Python 3.12, venv dédié) pour un inventaire reproductible.
UV_PROJECT_ENVIRONMENT=.venv-licenses uv sync --frozen --extra dev --python 3.12 -q
{ echo "# Licences des dépendances tierces"; echo; UV_PROJECT_ENVIRONMENT=.venv-licenses uv run --frozen pip-licenses --format=markdown --with-urls --order=license | awk '!seen[$$0]++'; } > THIRD_PARTY_LICENSES.md
# Mesures de performance (voir benchmarks/README.md pour le protocole).
# A lancer machine au repos : une mesure prise sous charge ne vaut rien.
bench-daemon:
$(PY) scripts/bench_daemon.py
bench-regles:
$(PY) tests/test_campaign_mcp.py
bench-tts:
$(PY) scripts/bench_tts.py --engine piper
# Banc des modeles : fixer LYRA_SEED pour que deux executions soient comparables
bench-modeles:
$(PY) tests/test_campaign_llm.py --ephaistos $(MODELE) --json
# Enchaine les trois bancs puis regenere BENCHMARKS.md depuis les resultats
bench: bench-regles bench-daemon
$(PY) scripts/gen_benchmarks_md.py