-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
112 lines (77 loc) · 2.43 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# ************************************************
# ********** pip-tools **********
# ************************************************
.PHONY: lock # pin prod dependencies
lock:
python -m piptools compile -o requirements/main.txt
.PHONY: lock.dev # pin dev dependencies
lock.dev:
python -m piptools compile --extra dev -o requirements/dev.txt
.PHONY: lock.all # pin all dependencies
lock.all: lock lock.dev
.PHONY: sync # sync for prod dependencies
sync:
python -m piptools sync requirements/main.txt
.PHONY: sync.dev # sync for dev dependencies
sync.dev:
python -m piptools sync requirements/dev.txt
.PHONY: update # pin and sync for prod dependencies
update: lock sync
.PHONY: update.dev # pin and sync for dev dependencies
update.dev: lock.dev sync.dev
.PHONY: update.all # pin and sync for all dependencies
update.all: lock.all sync.dev
.PHONY: upgrade # upgrade main dependencies. Generate new .txt file
upgrade:
python -m piptools compile --upgrade -o requirements/main.txt
.PHONY: upgrade.dev # upgrade dev dependencies. Generate new .txt file
upgrade.dev:
python -m piptools compile --extra dev --upgrade -o requirements/dev.txt
.PHONY: upgrade.all # upgrade all dependencies. Generate new .txt files
upgrade.all: upgrade upgrade.dev
# ************************************************
# ********** application **********
# ************************************************
.PHONY: run # run the application
run:
python ./src/manage.py runserver
.PHONY: run.dev
run.dev:
python ./src/manage.py runserver
# ************************************************
# ********** django **********
# ************************************************
.PHONY: makemigrations
makemigrations:
python .\src\manage.py makemigrations
.PHONY: migrate
migrate:
python .\src\manage.py migrate
# ************************************************
# ********** code quality **********
# ************************************************
# fix formatting / and order imports
.PHONY: fix
fix:
python -m black ./
python -m isort ./
python -m ruff --fix ./
# check everything
.PHONY: check
check:
python -m ruff ./
python -m black --check ./
python -m isort --check ./
# ************************************************
# ********** pushing code **********
# ************************************************
.PHONY: commit
commit: check
git add .
git commit
git push
.PHONY: commit.wip
commit.wip: fix
git add .
git commit -m "🚧 WIP"
git push