ci: lock generated OpenAPI contract
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Контракт API
|
||||
|
||||
`apps/api/openapi.json` — автоматически сгенерированный снимок фактического FastAPI-контракта. Он фиксирует пути, методы, параметры, response schemas и security metadata перед декомпозицией routers. Файл нельзя править вручную.
|
||||
|
||||
После осознанного изменения API:
|
||||
|
||||
```bash
|
||||
.venv/bin/python apps/api/export_openapi.py
|
||||
git diff -- apps/api/openapi.json
|
||||
.venv/bin/python apps/api/export_openapi.py --check
|
||||
```
|
||||
|
||||
CI выполняет режим `--check` после тестов и падает, если код и committed artifact расходятся. Изменение снимка должно находиться в том же коммите, что реализация и тесты нового контракта. Перестановка routers без изменения публичного поведения не должна менять artifact.
|
||||
Reference in New Issue
Block a user