oncall-engine/Makefile
2022-10-11 17:06:19 -03:00

73 lines
1.7 KiB
Makefile

include .env.dev
ENV_DIR ?= venv
ENV = $(CURDIR)/$(ENV_DIR)
CELERY = $(ENV)/bin/celery
PRECOMMIT = $(ENV)/bin/pre-commit
PIP = $(ENV)/bin/pip
PYTHON3 = $(ENV)/bin/python3
PYTEST = $(ENV)/bin/pytest
DOCKER_FILE ?= docker-compose-developer.yml
define setup_engine_env
export `grep -v '^#' .env | xargs -0` && cd engine
endef
$(ENV):
python3.9 -m venv $(ENV_DIR)
bootstrap: $(ENV)
$(PIP) install -U pip wheel
cp -n .env.dev.example .env.dev
cd engine && $(PIP) install -r requirements.txt
@touch $@
migrate: bootstrap
$(setup_engine_env) && $(PYTHON3) manage.py migrate
clean:
rm -rf $(ENV)
lint: bootstrap
cd engine && $(PRECOMMIT) run --all-files
dbshell: bootstrap
$(setup_engine_env) && $(PYTHON3) manage.py dbshell $(ARGS)
shell: bootstrap
$(setup_engine_env) && $(PYTHON3) manage.py shell $(ARGS)
test: bootstrap
$(setup_engine_env) && $(PYTEST) --ds=settings.dev $(ARGS)
manage: bootstrap
$(setup_engine_env) && $(PYTHON3) manage.py $(ARGS)
run: bootstrap migrate
$(setup_engine_env) && $(PYTHON3) manage.py runserver
start-celery: bootstrap
. $(ENV)/bin/activate && $(setup_engine_env) && $(PYTHON3) manage.py start_celery
start-celery-beat: bootstrap
$(setup_engine_env) && $(CELERY) -A engine beat -l info
purge-queues: bootstrap
$(setup_engine_env) && $(CELERY) -A engine purge
docker-services-start:
docker-compose -f $(DOCKER_FILE) up -d
@echo "Waiting for database connection..."
until $$(nc -z -v -w30 localhost 3306); do sleep 1; done;
docker-services-restart:
docker-compose -f $(DOCKER_FILE) restart
docker-services-stop:
docker-compose -f $(DOCKER_FILE) stop
watch-plugin:
cd grafana-plugin && yarn install && yarn && yarn watch
.PHONY: grafana-plugin