58 lines
1.6 KiB
Makefile
58 lines
1.6 KiB
Makefile
.PHONY: help install test lint typecheck run run-otel compose-build compose-up compose-down compose-logs compose-ps pre-commit
|
|
|
|
COMPOSE ?= docker-compose
|
|
APP_API_TOKEN ?= local-api-token
|
|
APP_SIGNING_KEY ?= local-signing-key
|
|
APP_OTEL_EXPORTER_ENDPOINT ?= http://localhost:4318
|
|
OTEL_METRIC_EXPORT_INTERVAL ?= 1000
|
|
|
|
help:
|
|
@printf "%s\n" \
|
|
"Available commands:" \
|
|
" make install - Install dependencies with uv" \
|
|
" make test - Run pytest" \
|
|
" make run - Run the app locally" \
|
|
" make run-otel - Run the app with a local OTel collector" \
|
|
" make lint - Run ruff" \
|
|
" make typecheck - Run mypy" \
|
|
" make compose-build - Build the local compose images" \
|
|
" make compose-up - Start the local app and collector stack" \
|
|
" make compose-down - Stop the local compose stack" \
|
|
" make compose-logs - Tail compose service logs" \
|
|
" make compose-ps - Show compose service status" \
|
|
" make pre-commit - Run lint, typecheck, and test"
|
|
|
|
install:
|
|
uv sync
|
|
|
|
test:
|
|
uv run pytest -v
|
|
|
|
lint:
|
|
uv run ruff check .
|
|
|
|
typecheck:
|
|
uv run mypy .
|
|
|
|
run:
|
|
APP_API_TOKEN="$(APP_API_TOKEN)" APP_SIGNING_KEY="$(APP_SIGNING_KEY)" uv run main.py
|
|
|
|
run-otel:
|
|
APP_API_TOKEN="$(APP_API_TOKEN)" APP_SIGNING_KEY="$(APP_SIGNING_KEY)" APP_LOGGING_LEVEL=WARNING APP_OTEL_EXPORTER_ENDPOINT="$(APP_OTEL_EXPORTER_ENDPOINT)" OTEL_METRIC_EXPORT_INTERVAL="$(OTEL_METRIC_EXPORT_INTERVAL)" uv run main.py
|
|
|
|
compose-build:
|
|
$(COMPOSE) build
|
|
|
|
compose-up:
|
|
$(COMPOSE) up --build -d
|
|
|
|
compose-down:
|
|
$(COMPOSE) down --remove-orphans
|
|
|
|
compose-logs:
|
|
$(COMPOSE) logs -f app otel-collector
|
|
|
|
compose-ps:
|
|
$(COMPOSE) ps
|
|
|
|
pre-commit: lint typecheck test
|