- tests/: 104 теста — lessons (все форматы ячеек), xlsx (мержи/скрытые столбцы/красный текст/даты), parsing (группы/недели/индексы), API (TestClient, TTL/modified/stale-while-error, 404/400/502) - xlsx_builder.py: генерация xlsx в памяти для тестов без openpyxl - docker-compose: healthz-хелскчеки (не блокируют старт), SCHEDULE_LINK - Makefile: target test - requirements: закреплённые версии - .gitignore: __pycache__/, .venv/ и т.д.
33 lines
1.1 KiB
Makefile
33 lines
1.1 KiB
Makefile
.PHONY: build up down logs restart deploy ps dev test
|
|
|
|
build: ## Собрать образы микросервисов
|
|
docker compose build
|
|
|
|
up: ## Запустить все микросервисы одной командой
|
|
docker compose up -d
|
|
|
|
down: ## Остановить и удалить контейнеры
|
|
docker compose down
|
|
|
|
restart: ## Перезапустить микросервисы
|
|
docker compose restart
|
|
|
|
logs: ## Логи всех микросервисов
|
|
docker compose logs -f
|
|
|
|
ps: ## Статус микросервисов
|
|
docker compose ps
|
|
|
|
deploy: ## Собрать и запустить (деплой на сервере)
|
|
./deploy.sh
|
|
|
|
test: ## Прогнать тесты (локальный venv)
|
|
$(CURDIR)/.venv/bin/python -m pytest tests -q
|
|
|
|
dev: ## Запустить локально без Docker (бэкенд + фронт)
|
|
@echo "Запуск бэкенда на :8000 и фронта на :8080..."
|
|
@trap 'kill 0' EXIT; \
|
|
cd src/backend && $(CURDIR)/.venv/bin/python -m uvicorn main:app --reload --port 8000 & \
|
|
cd src/frontend && $(CURDIR)/.venv/bin/python -m uvicorn main:app --reload --port 8080 & \
|
|
wait
|