37 lines
909 B
Makefile
37 lines
909 B
Makefile
all: lint
|
|
|
|
include ../tools/python.mk
|
|
|
|
PIP_INSTALL := \
|
|
--editable ../shared \
|
|
--editable .[dev]
|
|
PYLINT_ARG := libretime_api
|
|
MYPY_ARG := libretime_api
|
|
BANDIT_ARG := --exclude '*/tests/*' libretime_api || true
|
|
|
|
format: .format
|
|
lint: .format-check .pylint .mypy .bandit
|
|
clean: .clean
|
|
|
|
test: $(VENV)
|
|
source $(VENV)/bin/activate
|
|
export DJANGO_SETTINGS_MODULE=libretime_api.settings.testing
|
|
pytest -v \
|
|
--numprocesses=$(CPU_CORES) \
|
|
--color=yes \
|
|
--cov-config=pyproject.toml \
|
|
--cov-report=term \
|
|
--cov-report=xml:./coverage.xml \
|
|
--cov=libretime_api \
|
|
libretime_api
|
|
|
|
SCHEMA_FILE ?= schema.yml
|
|
schema: $(VENV)
|
|
source $(VENV)/bin/activate
|
|
export DJANGO_SETTINGS_MODULE=libretime_api.settings.testing
|
|
libretime-api spectacular --file $(SCHEMA_FILE)
|
|
if command -v npx > /dev/null; then npx prettier --write $(SCHEMA_FILE); fi
|
|
|
|
schema-foreach-commit:
|
|
git rebase main -x "$(MAKE) -C api schema"
|