Includes multilingual etymology fields, seed data for starter names, and CI-ready Python project layout.
29 lines
1.1 KiB
Makefile
29 lines
1.1 KiB
Makefile
.PHONY: help install test lint run docker-build seed
|
|
|
|
help: ## Show targets
|
|
@grep -E '^[a-zA-Z_-]+:.*?##' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-16s %s\n", $$1, $$2}'
|
|
|
|
install: ## Install runtime + dev deps into .venv (prefers python3.12)
|
|
@PY=$$(command -v python3.12 || command -v python3); \
|
|
$$PY -m venv .venv
|
|
.venv/bin/pip install -U pip
|
|
.venv/bin/pip install -r requirements-dev.txt
|
|
|
|
lint: ## Ruff lint (CI hard gate)
|
|
ruff check .
|
|
|
|
test: ## Pytest (CI hard gate)
|
|
pytest -q
|
|
|
|
run: ## Local uvicorn on :8094 (needs .env)
|
|
@test -f .env || (echo "Copy .env.example to .env first" && exit 1)
|
|
set -a && . ./.env && set +a && uvicorn stork.app:app --reload --host 127.0.0.1 --port 8094
|
|
|
|
seed: ## Seed example first names (usage: make seed STORK_INVITE=... [STORK_URL=...])
|
|
@test -n "$(STORK_INVITE)" || (echo "Set STORK_INVITE=..." && exit 1)
|
|
STORK_URL="$(or $(STORK_URL),http://127.0.0.1:8094)" STORK_INVITE="$(STORK_INVITE)" \
|
|
.venv/bin/python scripts/seed_names.py
|
|
|
|
docker-build: ## Build local image
|
|
docker build -t homelab-stork:latest .
|