dashboard/Makefile

48 lines
1.4 KiB
Makefile

define run_migrations ## run migrations
@ . ./venv/bin/activate && python manage.py makemigrations
@ . ./venv/bin/activate && python manage.py migrate
endef
define unimplemented
@echo "ERROR: Unimplemented!" && echo -1.
endef
default: ## Run app
$(call run_migrations)
. ./venv/bin/activate && python manage.py runserver
coverage: ## Generate test coverage report
. ./venv/bin/activate && coverage run manage.py test
. ./venv/bin/activate && coverage report -m
. ./venv/bin/activate && coverage html
doc: ## Generates documentation
$(call unimplemented)
docker: ## Build Docker image from source
$(call unimplemented)
env: ## Install all dependencies
@-virtualenv venv
. ./venv/bin/activate && pip install -r requirements.txt
. ./venv/bin/activate && ./integration/ci.sh init
. ./venv/bin/activate && yes yes | python manage.py collectstatic
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}'
integration-test: ## run integration tests
. ./venv/bin/activate && integration/tests.sh
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