feat: setup make for tests, coverage, migrations and linting

This commit is contained in:
Aravinth Manivannan 2022-08-22 13:17:29 +05:30
parent fa43cc13bb
commit 262b7b32f3
Signed by untrusted user: realaravinth
GPG key ID: AD9F0F08E855ED88

View file

@ -1,2 +1,31 @@
env: define run_migrations ## run migrations
@ . ./venv/bin/activate && python manage.py makemigrations
@ . ./venv/bin/activate && python manage.py migrate
endef
default: ## Run app
$(call run_migrations)
. ./venv/bin/activate && python manage.py runserver
env: ## setup environment
. ./venv/bin/activate && pip install -r requirements.txt . ./venv/bin/activate && pip install -r requirements.txt
coverage: ## Generate test coverage report
. ./venv/bin/activate && coverage run manage.py test
. ./venv/bin/activate && coverage report -m
. ./venv/bin/activate && coverage html
freeze: ## Freeze python dependencies
@. ./venv/bin/activate && pip freeze > requirements.txt
help: ## Prints help for targets with comments
@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
lint: ## Run linter
@./venv/bin/black dashboard accounts dash support billing infrastructure integration
migrate: ## Run migrations
$(call run_migrations)
test: ## Run tests
@. ./venv/bin/activate && python manage.py test --parallel