75 lines
2.0 KiB
Makefile
75 lines
2.0 KiB
Makefile
# Commander AI Lab — Developer Makefile
|
|
# ======================================
|
|
# Targets:
|
|
# make test — run all tests
|
|
# make test-unit — run unit tests only (fast)
|
|
# make test-integration— run integration tests
|
|
# make test-benchmark — run benchmark suite with -s (print timings)
|
|
# make coverage — run tests with coverage report
|
|
# make serve — start the FastAPI dev server
|
|
# make lint — ruff + mypy
|
|
# make fmt — ruff format
|
|
# make clean — remove build artefacts
|
|
|
|
PYTHON ?= python
|
|
UVICORN ?= uvicorn
|
|
PORT ?= 8000
|
|
SRC = src/commander_ai_lab
|
|
|
|
.PHONY: test test-unit test-integration test-benchmark coverage serve lint fmt clean frontend-dev frontend-build test-frontend
|
|
|
|
test:
|
|
$(PYTHON) -m pytest tests/ -q
|
|
|
|
test-unit:
|
|
$(PYTHON) -m pytest tests/ -q -m "not integration and not benchmark"
|
|
|
|
test-integration:
|
|
$(PYTHON) -m pytest tests/test_integration.py -v
|
|
|
|
test-benchmark:
|
|
$(PYTHON) -m pytest tests/test_benchmark.py -v -s
|
|
|
|
test-phase3:
|
|
$(PYTHON) -m pytest tests/test_phase3.py -v
|
|
|
|
test-phase4:
|
|
$(PYTHON) -m pytest tests/test_phase4.py -v
|
|
|
|
test-phase5:
|
|
$(PYTHON) -m pytest tests/test_phase5.py -v
|
|
|
|
test-phase6:
|
|
$(PYTHON) -m pytest tests/test_phase6.py -v
|
|
|
|
test-phase7:
|
|
$(PYTHON) -m pytest tests/test_integration.py tests/test_benchmark.py -v
|
|
|
|
coverage:
|
|
$(PYTHON) -m pytest tests/ --cov=$(SRC) --cov-report=term-missing --cov-report=html
|
|
echo "Coverage report: htmlcov/index.html"
|
|
|
|
serve:
|
|
$(UVICORN) commander_ai_lab.web.app:app --reload --port $(PORT)
|
|
|
|
lint:
|
|
$(PYTHON) -m ruff check $(SRC) tests/
|
|
$(PYTHON) -m mypy $(SRC) --ignore-missing-imports
|
|
|
|
fmt:
|
|
$(PYTHON) -m ruff format $(SRC) tests/
|
|
|
|
clean:
|
|
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
|
|
find . -type f -name '*.pyc' -delete
|
|
rm -rf .coverage htmlcov .mypy_cache .ruff_cache dist build
|
|
|
|
frontend-dev:
|
|
cd frontend && npm run dev
|
|
|
|
frontend-build:
|
|
cd frontend && npm run build
|
|
|
|
test-frontend:
|
|
cd frontend && npx vitest run
|