CI-GATE.0-2: establish repository CI canary

This commit is contained in:
2026-08-04 19:01:59 +03:00
parent 64a5bdd04c
commit 49cc0e2fb8
9 changed files with 1637 additions and 15 deletions

View File

@@ -36,8 +36,10 @@ snapshots.
```bash
python3.12 -m venv app/.venv
app/.venv/bin/python -m pip install --upgrade pip
app/.venv/bin/python -m pip install -r app/requirements-dev.txt
app/.venv/bin/python -m pip install \
--require-hashes \
-r app/requirements-dev.lock
app/.venv/bin/python -m pip check
test -e app/.env || cp app/.env.example app/.env
```
@@ -45,10 +47,10 @@ test -e app/.env || cp app/.env.example app/.env
не перезаписывайте существующий `.env`. Для каждого секрета разрешён либо
прямой параметр, либо соответствующий `*_FILE`, но не оба одновременно.
`requirements-dev.txt` устанавливает production dependencies и
инструменты разработки. Production container использует проверяемый
hash-lock `requirements.lock`; вручную редактировать его dependency
records не следует.
`requirements-dev.txt` остаётся читаемым источником прямых developer
dependencies. Установка выполняется из `requirements-dev.lock`, который
сохраняет версии Production `requirements.lock` и добавляет pytest/Pyright.
Вручную редактировать dependency records обоих lock-файлов не следует.
## Режимы Trades Feed
@@ -97,6 +99,15 @@ Default-набор исключает маркеры `integration`, `stress` и
запуск дополнительно контролирует Pyright. Один целевой тест этот gate не
заменяет.
Полная локальная CI-последовательность запускается из корня repository:
```bash
./scripts/run_ci_gate.sh all
```
Подробный manual-canary contract приведён в
[CI runbook](../docs/operations/ci_gate.md).
Назначение и безопасные команды opt-in наборов:
- `integration` — локальные сетевые и PostgreSQL-сценарии;