/
gr.ev.vl
/
TestGen
Обзор
Документация
Войти
/
gr.ev.vl
/
TestGen
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master2
Makefile.mk
111 строк
4 KB
gr.ev.vl
Initial commit
06 июн 2026, 02:41
06 июн 2026, 02:41
02fb1fb
Код
Авторство
О чём код?
.PHONY: help install sync test lint format clean help: ## Показать справку @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \ awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' # ============================================================================= # Установка # ============================================================================= install: ## Установить uv и все зависимости @echo "Установка uv и зависимостей..." @pip install uv @uv venv @uv sync --group dev sync: ## Синхронизировать зависимости с uv.lock @uv sync --group dev sync-prod: ## Синхронизировать только production-зависимости @uv sync --no-dev add: ## Добавить пакет (использование: make add pkg=package-name) @uv add $(pkg) add-dev: ## Добавить dev-пакет (использование: make add-dev pkg=package-name) @uv add --group dev $(pkg) remove: ## Удалить пакет (использование: make remove pkg=package-name) @uv remove $(pkg) upgrade: ## Обновить все зависимости @uv lock --upgrade @uv sync --group dev # ============================================================================= # Разработка # ============================================================================= run-backend: ## Запустить backend (uv run) @uv run uvicorn src.testgen.main:app --reload --host 0.0.0.0 --port 8000 run-worker: ## Запустить Celery worker @uv run celery -A src.testgen.tasks.celery_app worker -l info run-frontend: ## Запустить frontend @cd frontend && npm run dev # ============================================================================= # Тестирование # ============================================================================= test: ## Запустить все тесты @uv run pytest tests/ -v test-unit: ## Запустить модульные тесты @uv run pytest tests/unit/ -v test-integration: ## Запустить интеграционные тесты @uv run pytest tests/integration/ -v test-coverage: ## Запустить тесты с покрытием @uv run pytest tests/ --cov=src/testgen --cov-report=html --cov-report=term # ============================================================================= # Линтинг # ============================================================================= lint: lint-ruff lint-mypy ## Запустить все линтеры lint-ruff: ## Запустить ruff @uv run ruff check src/ tests/ lint-ruff-fix: ## Исправить ошибки ruff @uv run ruff check --fix src/ tests/ lint-mypy: ## Запустить mypy @uv run mypy src/ format: ## Форматирование кода @uv run ruff format src/ tests/ format-check: ## Проверить форматирование @uv run ruff format --check src/ tests/ # ============================================================================= # Миграции # ============================================================================= migrate: ## Применить миграции @cd backend && uv run alembic upgrade head migrate-new: ## Создать новую миграцию (m="описание") @cd backend && uv run alembic revision --autogenerate -m "$(m)" # ============================================================================= # Очистка # ============================================================================= clean: ## Очистить временные файлы @find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true @find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true @find . -type d -name ".mypy_cache" -exec rm -rf {} + 2>/dev/null || true @find . -type d -name ".ruff_cache" -exec rm -rf {} + 2>/dev/null || true @find . -type d -name "htmlcov" -exec rm -rf {} + 2>/dev/null || true @find . -type d -name ".uv_cache" -exec rm -rf {} + 2>/dev/null || true @rm -rf dist/ build/ *.egg-info/ clean-all: clean ## Очистить включая виртуальное окружение @rm -rf .venv/ @echo "Виртуальное окружение удалено. Запустите 'make install' для пересоздания."