34 lines
1.8 KiB
Makefile
34 lines
1.8 KiB
Makefile
# Команды проверки репозитория arm-ka-docs. Запуск из корня репозитория.
|
||
# Сервисных целей (lint/test/up...) здесь нет: описание общих целей сервисов — dev/checks.md.
|
||
VENV := .venv
|
||
# Если окружение создано (`make venv`) — берём его интерпретатор, иначе системный python3 (в нём должен быть jsonschema)
|
||
PY := $(if $(wildcard $(VENV)/bin/python),$(CURDIR)/$(VENV)/bin/python,python3)
|
||
CHANGE ?= slice-0-skeleton
|
||
# Текущая версия модели данных — по ней рисуются диаграммы (make diagrams)
|
||
DBML ?= model/data-model-v5.18.dbml
|
||
|
||
.PHONY: venv validate-contracts validate-openspec test-snapshot check diagrams
|
||
|
||
# Единственная зависимость скриптов проверки контракта — jsonschema
|
||
venv:
|
||
uv venv --python 3.11 --allow-existing $(VENV)
|
||
uv pip install --python $(VENV)/bin/python jsonschema
|
||
|
||
# Примеры contracts/examples/ против трёх схем JSON Schema 2020-12
|
||
validate-contracts:
|
||
$(PY) scripts/validate_contracts.py
|
||
|
||
# Спека текущего изменения OpenSpec (нужен CLI openspec в PATH)
|
||
validate-openspec:
|
||
openspec validate $(CHANGE) --strict
|
||
|
||
# Снимок для контура вырезает артефакты агента на любой глубине (dev/contour-transfer-guide.md §3); нужны git и bash
|
||
test-snapshot:
|
||
scripts/test_prepare_contour_snapshot.sh
|
||
|
||
check: validate-contracts validate-openspec test-snapshot
|
||
|
||
# Диаграммы model/diagrams/part01…09.{svg,png} из $(DBML); нужен npx (Node.js), зависимостей Python нет
|
||
diagrams:
|
||
python3 scripts/gen_model_diagrams.py $(DBML)
|