2026-10-06 14:02:01 +02:00
|
|
|
.PHONY: help sync migrate run test lint shell check test-usecases test-browser setup-usecases
|
2026-08-09 01:45:05 +02:00
|
|
|
|
|
|
|
|
.DEFAULT_GOAL := help
|
|
|
|
|
|
|
|
|
|
help: ## List targets
|
|
|
|
|
@grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | \
|
|
|
|
|
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
|
|
|
|
|
|
|
|
|
|
sync: ## Install Python deps with uv
|
|
|
|
|
uv sync
|
|
|
|
|
|
|
|
|
|
migrate: ## Apply migrations
|
|
|
|
|
uv run manage.py migrate
|
|
|
|
|
|
|
|
|
|
run: ## Dev server on :8008
|
|
|
|
|
uv run manage.py runserver 0.0.0.0:8008
|
|
|
|
|
|
|
|
|
|
test: ## pytest
|
|
|
|
|
uv run pytest
|
|
|
|
|
|
|
|
|
|
lint: ## ruff
|
|
|
|
|
uv run ruff check .
|
|
|
|
|
|
|
|
|
|
shell: ## Django shell
|
|
|
|
|
uv run manage.py shell
|
2026-10-06 14:02:01 +02:00
|
|
|
|
|
|
|
|
setup-usecases: ## Install locked Node deps and Chromium for use-case checks
|
|
|
|
|
npm ci --prefix scripts
|
|
|
|
|
cd scripts && npx playwright install chromium
|
|
|
|
|
|
|
|
|
|
test-usecases: ## Required established journeys (fast + real browser), JUnit report
|
|
|
|
|
uv run pytest --verify-usecases -m usecase --junitxml=var/test-results/usecases.xml
|
|
|
|
|
|
|
|
|
|
test-browser: ## Browser journeys against isolated test app
|
|
|
|
|
uv run pytest --verify-usecases -m browser --junitxml=var/test-results/browser.xml
|
|
|
|
|
|
|
|
|
|
check: ## Full regression gate, including every established browser journey
|
|
|
|
|
uv run pytest --verify-usecases -m '' --junitxml=var/test-results/check.xml
|