fix(generator): усилены проверки startup-history
- Зачем: - коммит-гейт не запускал корневые контрактные тесты, а часть подтверждённых обходов могла снова смешать разные миры генератора. - Что: - добавлены цели make test, make lint и contract-test с тихим pytest-выводом через Docker. - закрыты обходы через generator-reset, неизвестную версию state и fail-open проверку DM-витрин. - усилены поведенческие контракты CHECK_LIVE_SEAM, профиля manifest и pause-check etl_pipeline; обновлены документы и issue 19. - Проверка: - make test; make lint; git diff --check.
This commit is contained in:
@@ -5,9 +5,14 @@
|
||||
superset-init superset-dashboard superset-ui superset-restart \
|
||||
generator-up generator-down generator-logs generator-restart \
|
||||
generator-backfill generator-continue generator-reset \
|
||||
generator-test generator-test-build generator-test-cov
|
||||
generator-test generator-test-build generator-test-cov \
|
||||
contract-test config-test test lint
|
||||
|
||||
COMPOSE ?= docker compose
|
||||
PROFILE ?= ci
|
||||
PYTEST_ARGS ?= -q -p no:cacheprovider
|
||||
PYTHON_CHECK_PATHS := airflow/dags configs generator scripts superset tests
|
||||
BASH_SCRIPTS := $(shell find scripts -type f -name '*.sh' | sort)
|
||||
|
||||
# ============================================================================
|
||||
# Основные команды
|
||||
@@ -46,7 +51,7 @@ generated-history-analytics:
|
||||
|
||||
# Повторяемая проверка после прогона стартовой истории
|
||||
generated-history-check:
|
||||
PROFILE="$${PROFILE:-$(PROFILE)}" GEN_LAUNCH_PROFILE="$${GEN_LAUNCH_PROFILE:-$${PROFILE:-$(PROFILE)}}" CHECK_LIVE_SEAM="$${CHECK_LIVE_SEAM:-1}" COMPOSE_BIN="$(COMPOSE)" bash ./scripts/check_generated_analytics.sh
|
||||
PROFILE="$${PROFILE:-$${GEN_LAUNCH_PROFILE:-$(PROFILE)}}" GEN_LAUNCH_PROFILE="$${GEN_LAUNCH_PROFILE:-$${PROFILE:-$(PROFILE)}}" CHECK_LIVE_SEAM="$${CHECK_LIVE_SEAM:-1}" COMPOSE_BIN="$(COMPOSE)" bash ./scripts/check_generated_analytics.sh
|
||||
|
||||
# Быстрый runtime gate issue 17: короткий daily-wave backfill + live seam без Superset UI
|
||||
generated-history-runtime-check:
|
||||
@@ -154,9 +159,32 @@ generator-test-build:
|
||||
# Запустить тесты генератора (pytest)
|
||||
generator-test: generator-test-build
|
||||
@echo "=== Запуск тестов генератора ==="
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/ -v
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/ $(PYTEST_ARGS)
|
||||
|
||||
# Запустить тесты с покрытием
|
||||
generator-test-cov: generator-test-build
|
||||
@echo "=== Запуск тестов с покрытием ==="
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/ -v --cov=. --cov-report=term-missing
|
||||
|
||||
# Запустить контрактные тесты верхнего уровня
|
||||
contract-test: generator-test-build
|
||||
@echo "=== Запуск контрактных тестов репозитория ==="
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace generator:test pytest tests/ $(PYTEST_ARGS)
|
||||
|
||||
# Проверить конфигурацию compose без запуска сервисов
|
||||
config-test:
|
||||
$(COMPOSE) config --quiet
|
||||
|
||||
# Быстрый предкоммитный набор: тесты генератора, контракты и конфигурация
|
||||
test: generator-test contract-test config-test
|
||||
|
||||
# Статические проверки без запуска стенда
|
||||
lint: generator-test-build
|
||||
@echo "=== Проверка синтаксиса Python ==="
|
||||
docker run --rm -e PYTHONPYCACHEPREFIX=/tmp/pycache -v $(PWD):/workspace -w /workspace generator:test python -m compileall -q $(PYTHON_CHECK_PATHS)
|
||||
@echo "=== Проверка синтаксиса Bash ==="
|
||||
bash -n $(BASH_SCRIPTS)
|
||||
@echo "=== Проверка docker compose ==="
|
||||
$(COMPOSE) config --quiet
|
||||
@echo "=== Проверка пробелов в diff ==="
|
||||
git diff --check
|
||||
|
||||
Reference in New Issue
Block a user