-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (54 loc) · 1.54 KB
/
Copy pathMakefile
File metadata and controls
72 lines (54 loc) · 1.54 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
SHELL := /bin/bash
DC := docker compose
WEB := $(DC) exec web
PY := $(WEB) python
.PHONY: help bootstrap up down restart logs ps shell migrate makemigrations \
test test-cov lint format format-check check
help:
@echo "Available targets:"
@echo " make bootstrap # Copy env file, build/start services, run migrations"
@echo " make up # Start services in detached mode"
@echo " make down # Stop services"
@echo " make restart # Restart services"
@echo " make logs # Tail service logs"
@echo " make ps # Show service status"
@echo " make shell # Open Django shell in web container"
@echo " make migrate # Apply migrations"
@echo " make makemigrations# Create migrations"
@echo " make test # Run pytest"
@echo " make test-cov # Run pytest with coverage gate"
@echo " make lint # Run ruff"
@echo " make format # Run black formatter"
@echo " make format-check # Check black formatting"
@echo " make check # Run format-check + lint + test"
bootstrap:
@test -f .env || cp .env.example .env
$(DC) up --build -d
$(PY) manage.py migrate
up:
$(DC) up --build -d
down:
$(DC) down
restart:
$(DC) restart
logs:
$(DC) logs -f
ps:
$(DC) ps
shell:
$(PY) manage.py shell
migrate:
$(PY) manage.py migrate
makemigrations:
$(PY) manage.py makemigrations
test:
$(WEB) pytest -q
test-cov:
$(WEB) pytest -q
lint:
$(PY) -m ruff check .
format:
$(PY) -m black .
format-check:
$(PY) -m black . --check
check: format-check lint test