CI-GATE.0-2: establish repository CI canary
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Trade Stream Production Runtime — эксплуатационное руководство
|
||||
|
||||
**Статус:** Current; accepted in Build 060.30.2
|
||||
**Статус:** Current; accepted in Build 060.30.2, CI-GATE.1 update
|
||||
|
||||
**Область:** Trades Feed, persistent Market Data Storage и связанные проверки
|
||||
|
||||
@@ -83,15 +83,18 @@ bootstrap, healthcheck, image и Compose path.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
`app/requirements.txt` остаётся читаемым списком прямых production
|
||||
dependencies. Production image устанавливает полный транзитивный
|
||||
`app/requirements.lock` только с `pip --require-hashes`.
|
||||
`requirements-dev.txt` включает прямые production requirements и
|
||||
инструменты pytest/Pyright для developer environment.
|
||||
инструменты pytest/Pyright для developer environment, а установка
|
||||
выполняется из полного `requirements-dev.lock` с обязательными hashes.
|
||||
|
||||
Lock регенерируется намеренно и review-ится как dependency update:
|
||||
|
||||
@@ -103,10 +106,21 @@ uv pip compile app/requirements.txt \
|
||||
--no-header \
|
||||
--no-annotate \
|
||||
--output-file app/requirements.lock
|
||||
|
||||
uv pip compile app/requirements-dev.txt \
|
||||
--constraints app/requirements.lock \
|
||||
--generate-hashes \
|
||||
--universal \
|
||||
--python-version 3.12 \
|
||||
--no-header \
|
||||
--no-annotate \
|
||||
--output-file app/requirements-dev.lock
|
||||
```
|
||||
|
||||
После генерации сохраняются только три русскоязычные служебные строки в
|
||||
начале файла; dependency records и hashes остаются машинными данными.
|
||||
После генерации каждого lock сохраняются только три русскоязычные
|
||||
служебные строки в начале файла; dependency records и hashes остаются
|
||||
машинными данными. Полный CI/canary contract приведён в
|
||||
[отдельном runbook](ci_gate.md).
|
||||
|
||||
Нельзя вручную убирать hash или обновлять только транзитивную version без
|
||||
повторных build, smoke, `pip check` и regression.
|
||||
|
||||
Reference in New Issue
Block a user