From b6e2be9f875b5ce929eec766061c9a6e2c5801fc Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sun, 4 Oct 2026 05:20:41 +0400 Subject: [PATCH] =?UTF-8?q?docs(dev):=20README=20=D1=81=D1=81=D1=8B=D0=BB?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BD=D0=B0=20checks.md,=20?= =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD=D0=BE=20=D1=83=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=88=D0=B5=D0=B5=20=C2=ABMakefile=20=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D1=83=20arm-core=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- dev/README.md | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) 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). ## Примечания