This repository has been archived by the owner on Sep 10, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·73 lines (51 loc) · 2.21 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
# This Makefile is based on the Makefile defined in the Python Best Practices repository:
# https://git.datapunt.amsterdam.nl/Datapunt/python-best-practices/blob/master/dependency_management/
.PHONY: help pip-tools install requirements update test init
dc = docker-compose
run = $(dc) run --rm
manage = $(run) dev python manage.py
pytest = $(run) test pytest $(ARGS)
help: ## Show this help.
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//'
pip-tools:
pip install pip-tools
install: pip-tools ## Install requirements and sync venv with expected state as defined in requirements.txt
pip-sync requirements_dev.txt
requirements: pip-tools ## Upgrade requirements (in requirements.in) to latest versions and compile requirements.txt
pip-compile --upgrade --output-file requirements.txt requirements.in
pip-compile --upgrade --output-file requirements_dev.txt requirements_dev.in
upgrade: requirements install ## Run 'requirements' and 'install' targets
migrations: ## Make migrations
$(manage) makemigrations $(ARGS)
migrate: ## Migrate
$(manage) migrate
urls:
$(manage) show_urls
build:
$(dc) build
push: build
$(dc) push
app:
$(run) --service-ports app
shell:
$(manage) shell_plus --print-sql
notebook:
$(dc) run -e DJANGO_ALLOW_ASYNC_UNSAFE=true --rm --service-ports notebook python manage.py shell_plus --notebook
dev: ## Run the development app (and run extra migrations first)
$(run) --service-ports dev
lintfix: ## Execute lint fixes
$(run) test isort /app/src/$(APP) /app/tests/$(APP)
$(run) test black /app/src/$(APP) /app/tests/$(APP)
lint: ## Execute lint checks
$(run) test isort --diff --check /app/src/$(APP) /app/tests/$(APP)
$(run) test black --diff --check /app/src/$(APP) /app/tests/$(APP)
test: lint ## Execute tests
$(run) test pytest /app/tests/$(APP) $(ARGS)
pdb:
$(run) test pytest /app/tests/$(APP) --pdb $(ARGS)
clean: ## Clean docker stuff
$(dc) down -v --remove-orphans
bash:
$(dc) run --rm dev bash
env:
env | sort