-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (53 loc) · 2.27 KB
/
Makefile
File metadata and controls
75 lines (53 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
SHELL := /bin/bash
.DEFAULT_GOAL := help
UV_RUN := uv run
FIXTURE_BEFORE := prompts/deepseek-coder-page-6-before.json
.PHONY: help sync format lint fix test test-unit test-integration test-e2e cov bench sample serve check status clean docker-image-ref docker-build docker-smoke repro-docker
help: ## Show available commands
@awk 'BEGIN {FS = ": ## "}; /^[a-zA-Z0-9_.-]+: ## / {printf "\033[36m%-18s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
sync: ## Install/update dependencies with uv
uv sync --all-groups
format: ## Format the codebase with Ruff
$(UV_RUN) ruff format .
lint: ## Run static checks
$(UV_RUN) ruff check .
fix: ## Auto-fix Ruff issues and format
$(UV_RUN) ruff check . --fix
$(UV_RUN) ruff format .
test: ## Run the full test suite
$(UV_RUN) pytest
test-unit: ## Run unit tests only
$(UV_RUN) pytest tests/unit
test-integration: ## Run integration tests only
$(UV_RUN) pytest tests/integration
test-e2e: ## Run CLI/end-to-end tests only
$(UV_RUN) pytest tests/e2e
cov: ## Run tests with coverage output
$(UV_RUN) pytest --cov=tablesetter --cov-report=term-missing
bench: ## Run benchmark smoke tests
$(UV_RUN) pytest benchmarks/test_transform_benchmark.py
sample: ## Run the CLI against the bundled fixture and print pretty JSON
$(UV_RUN) tablesetter --in $(FIXTURE_BEFORE) --pretty
serve: ## Run the phase-2 FastAPI plugin locally on port 8000
$(UV_RUN) uvicorn tablesetter.interfaces.http.app:app --host 0.0.0.0 --port 8000 --reload
check: ## Run the main local quality gate
$(UV_RUN) ruff check .
$(UV_RUN) pytest
status: ## Show a quick project status snapshot
@printf "Repo status\n"
@git status --short --branch
@printf "\nTooling\n"
@uv --version
@$(UV_RUN) python --version
@printf "\nTests\n"
@$(UV_RUN) pytest --co -q
clean: ## Remove common local caches and reports
rm -rf .benchmarks .coverage .pytest_cache .ruff_cache htmlcov
docker-build: ## Build the phase-2 plugin image
./scripts/docker_build.sh
docker-image-ref: ## Print the current source-derived Docker image ref
@./scripts/docker_build_env.py | sed -n 's/^IMAGE_REF=//p'
docker-smoke: ## Build a fresh image and smoke-test the containerized HTTP plugin
./scripts/docker_smoke.sh
repro-docker: ## Run the repeatable Docker detached-run repro harness
./scripts/repro_docker_detach.sh --build