diff --git a/dev/README.md b/dev/README.md index 5a507f0..e4ca357 100644 --- a/dev/README.md +++ b/dev/README.md @@ -129,29 +129,22 @@ curl -s localhost:<порт сервиса>/healthcheck > Черновик: уточняется после задач 3.x и 5.x. -**Сейчас.** Makefile есть только у `arm-core`: `make test-integration` (`pytest -m integration`), -`make check` = `lint` + `test` (ruff, mypy, `pytest -m "not integration"`), `make check-full` = `check` + -`test-integration`. У `tabular-parser` и `scan-gateway` Makefile пока нет. - -**Планируется** (spec `quality-checks`, реализуется в задачах 3.x/4.x/5.x): одинаковый набор целей во всех сервисных -репозиториях со следующей семантикой: - -- `make test-integration` — `pytest -m integration` против инфраструктуры из этого compose; -- `make check` — быстрые проверки без Docker (ruff, mypy, `pytest -m "not integration"`, идентичность контракта); -- `make check-full` — `make check` + интеграционные тесты; для `arm-core` — ещё «`alembic upgrade head` → - `downgrade base` → `upgrade head`» и `scripts/check_dbml_vs_orm.py` (этих шагов и скрипта пока нет). Выполняется -перед созданием PR. +Общий набор целей (`up`, `test`, `test-integration`, `lint`, `check`, `check-full`) есть во всех сервисных репозиториях +(`arm-core`, `tabular-parser`, `scan-gateway`); семантика, состав `check-full`, порядок перед PR и пропуск тестов без +`docs`/`fixtures` описаны в [`checks.md`](checks.md). Кратко: `make check` — быстрые проверки без Docker, `make check-full` — +`check` + интеграционные тесты против этого compose + образ (для `arm-core` ещё сверка с DBML, миграции и `web`); +выполняется перед созданием PR. Интеграционные тесты **требуют поднятой инфраструктуры**: сначала `docker compose up -d && docker compose up -d --wait postgres nats minio`, затем `make test-integration` (или `make check-full`) в репозитории сервиса. Для `scan-gateway` -дополнительно нужен эмулятор ИС Сканирование (появится вместе с профилем `services`). Общее описание проверок — -`docs/dev/checks.md` (будет добавлено). +эмулятор ИС Сканирование поднимается в процессе интеграционного теста (отдельный контейнер появится вместе с профилем +`services`). Общее описание проверок — [`checks.md`](checks.md). ## Проверка контракта Из корня репозитория `docs`: `python scripts/validate_contracts.py` — валидирует примеры в [`contracts/examples/`](../contracts/examples/) тремя схемами из [`contracts/`](../contracts/) (3 схемы, 8 примеров; -нужен `jsonschema`). +нужен `jsonschema`). Или `make venv && make check` (ещё `openspec validate`), см. [`checks.md`](checks.md). ## Примечания