- Зачем: - корневые цели смешивали два уровня: пять из шестнадцати начинались с cd generator. - цель, названная общерепозиторной, охватывала 31 файл Python из 34: даги и Superset не видел ни линт, ни типы. - Что: - lint, typecheck, test, docs и inventory переехали в новый generator/Makefile. - корневой lint заведён по коду стенда — dags и infra/superset — с явными путями и закреплённой версией ruff. - заведён корневой ruff.toml: тот же список правил, target-version по младшему Python в образах стенда. - цели корня сгруппированы по использованию, осталось двенадцать. - два файла дагов переформатированы под новую проверку. - карта проверок, оба README, спека генератора и AGENTS.md приведены к двум дверям. - Проверка: - make lint; make config-test — зелёные. - make -C generator lint; typecheck; test — зелёные, 407 тестов. - ruff check --show-files: из корня ровно три файла стенда, из generator/ — только его. - цена корневого lint замерена (0,4 с) и вписана в карту проверок. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
892 B
Makefile
28 lines
892 B
Makefile
# Цели генератора. Дверь у него своя, потому что своя и сущность: пакет с
|
|
# собственными `pyproject.toml`, `uv.lock` и образом, заменяемый целиком
|
|
# (спека генератора, раздел 1). Отсюда и короткие имена — каталог уже сказал,
|
|
# о ком речь, и суффикс `-generator` был бы вторым разом про то же.
|
|
.PHONY: lint typecheck test docs inventory
|
|
|
|
# --- Проверки ---
|
|
|
|
lint:
|
|
uv run ruff check
|
|
uv run ruff format --check
|
|
|
|
typecheck:
|
|
uv run ty check
|
|
|
|
test:
|
|
uv run pytest
|
|
|
|
# --- Сборка из кода ---
|
|
|
|
docs:
|
|
uv run python -m clickstream_generator.schema_doc \
|
|
../docs/formats/clickstream-event.md
|
|
|
|
inventory:
|
|
uv run python -m clickstream_generator.inventory \
|
|
../data/world-inventory.json
|