45 lines
1.0 KiB
Makefile
45 lines
1.0 KiB
Makefile
PY ?= python3
|
|
VENV ?= .venv
|
|
BIN := $(VENV)/bin
|
|
IMAGE ?= awg-dash:dev
|
|
COMPOSE_DEV := deploy/docker-compose.dev.yml
|
|
|
|
.PHONY: help venv lint fmt test build dev-up dev-down dev-logs test-netns
|
|
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:' $(MAKEFILE_LIST) | sed 's/:.*//' | sort -u
|
|
|
|
venv:
|
|
$(PY) -m venv $(VENV)
|
|
$(BIN)/pip install -U pip
|
|
$(BIN)/pip install -r requirements-dev.txt
|
|
|
|
lint:
|
|
$(BIN)/ruff check backend
|
|
$(BIN)/mypy backend
|
|
|
|
fmt:
|
|
$(BIN)/ruff format backend
|
|
$(BIN)/ruff check --fix backend
|
|
|
|
test:
|
|
$(BIN)/pytest
|
|
|
|
build:
|
|
@test -f deploy/Dockerfile || { echo 'deploy/Dockerfile ещё нет — задача #18'; exit 1; }
|
|
docker build -f deploy/Dockerfile -t $(IMAGE) .
|
|
|
|
dev-up:
|
|
@test -f $(COMPOSE_DEV) || { echo '$(COMPOSE_DEV) ещё нет — задача #21'; exit 1; }
|
|
docker compose -f $(COMPOSE_DEV) up -d --build
|
|
|
|
dev-down:
|
|
docker compose -f $(COMPOSE_DEV) down
|
|
|
|
dev-logs:
|
|
docker compose -f $(COMPOSE_DEV) logs -f --tail=100
|
|
|
|
test-netns:
|
|
@test -d tests/netns || { echo 'tests/netns ещё нет — задача #21'; exit 1; }
|
|
bash tests/netns/run.sh
|