-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
60 lines (40 loc) · 1.38 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
all: lint
lint: flake mypy test
check: lint
flake:
flake8 --show-source --statistics dp/
mypy:
mypy --pretty --show-error-codes dp/
test:
pytest tests/ dp/
watch:
ptw
push: lint
git push
validate:
python3 -m dp.bin.validate ../degreepath-areas/*/**.yaml --break
profile:
echo 'use pyinstrument'
echo 'or use py-spy'
nuitka:
python3 -m nuitka --standalone --follow-imports --plugin-enable=pylint-warnings --python-flag=no_site --warn-unusual-code --warn-implicit-exceptions dp/__main__.py
requirements: requirements.txt requirements-dev.txt requirements-test.txt requirements-server.txt requirements-excel.txt
pip-sync $^
requirements.txt: requirements.in
pip-compile --generate-hashes $<
requirements-dev.txt: requirements-dev.in
pip-compile --generate-hashes $<
requirements-test.txt: requirements-test.in
pip-compile --generate-hashes $<
requirements-server.txt: requirements-server.in
pip-compile --generate-hashes $<
requirements-excel.txt: requirements-excel.in
pip-compile --generate-hashes $<
.PHONY: requirements nuitka profile validate push watch test mypy lint flake check all
###
report-%.html:
cargo run --release --bin dp-major-report -- ./testbed_db.db "$(*F)" --as-html > "${@}"
summary-%.html:
cargo run --release --bin dp-major-summary -- ./testbed_db.db "$(*F)" --as-html > "${@}"
upload-reports:
scp summary-*.html report-*.html "ola:/home/www/sis/dp-report/"