-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
90 lines (56 loc) · 1.32 KB
/
Makefile
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
.PHONY: test
COMPOSE_PROJECT_NAME=django-devkit
COMPOSE_SERVICE_NAME=django
COMPOSE_FILE=docker-compose.yml
OVERRIDE_CI_FILE=docker-compose.ci.yml
COMPOSE=docker-compose -p $(COMPOSE_PROJECT_NAME)
EXEC=docker exec -it -e "TERM=xterm-256color" $(COMPOSE_PROJECT_NAME)_$(COMPOSE_SERVICE_NAME)_1 pipenv
PIPENV_RUN=$(EXEC) run
DJANGO_ADMIN=$(PIPENV_RUN) django-admin
MANAGE=$(PIPENV_RUN) python manage.py
CI=docker-compose -p $(COMPOSE_PROJECT_NAME) -f $(COMPOSE_FILE) -f $(OVERRIDE_CI_FILE)
# Docker commands
build:
$(COMPOSE) build
up:
$(COMPOSE) up -d
down:
$(COMPOSE) down
logs:
$(COMPOSE) logs -f
# Lint app
lint:
$(PIPENV_RUN) isort -rc . && \
black . && \
flake8 . && \
mypy .
# Test app
test:
$(PIPENV_RUN) ./manage.py test --noinput
# Test app and generate coverage
coverage:
$(PIPENV_RUN) coverage run --source ./ manage.py test --noinput
$(PIPENV_RUN) coverage report -m
# Django commands
createsuperuser:
$(MANAGE) createsuperuser
makemigrations:
$(MANAGE) makemigrations $(APP)
migrate:
$(MANAGE) migrate
shell:
$(MANAGE) shell
startproject:
$(DJANGO_ADMIN) startproject $(PROJECT) .
startapp:
$(MANAGE) startapp $(APP)
# Pipenv commands
install:
$(EXEC) install $(PKG)
installdev:
$(EXEC) install --dev $(PKG)
uninstall:
$(EXEC) uninstall $(PKG)
# CI commands
build_ci:
$(CI) build