feat(clean-release): complete compliance redesign phases and polish tasks T047-T052
This commit is contained in:
@@ -291,22 +291,77 @@ export RETENTION_PERIOD_DAYS=90
|
||||
- без внешних интернет-источников;
|
||||
- только с внутренними серверами ресурсов компании.
|
||||
|
||||
### Операторский цикл (TUI)
|
||||
### Операторский цикл (CLI/API/TUI)
|
||||
|
||||
#### A) Headless CLI (основной сценарий для CI/CD)
|
||||
|
||||
```bash
|
||||
cd /home/busya/dev/ss-tools/backend
|
||||
|
||||
# Регистрация кандидата
|
||||
.venv/bin/python3 -m src.scripts.clean_release_cli candidate-register \
|
||||
--candidate-id 2026.03.09-rc1 \
|
||||
--version 1.0.0 \
|
||||
--source-snapshot-ref git:release/2026.03.09-rc1 \
|
||||
--created-by release-operator
|
||||
|
||||
# Импорт артефакта
|
||||
.venv/bin/python3 -m src.scripts.clean_release_cli artifact-import \
|
||||
--candidate-id 2026.03.09-rc1 \
|
||||
--artifact-id artifact-001 \
|
||||
--path backend/dist/package.tar.gz \
|
||||
--sha256 deadbeef \
|
||||
--size 1024
|
||||
|
||||
# Сборка манифеста
|
||||
.venv/bin/python3 -m src.scripts.clean_release_cli manifest-build \
|
||||
--candidate-id 2026.03.09-rc1 \
|
||||
--created-by release-operator
|
||||
|
||||
# Запуск compliance
|
||||
.venv/bin/python3 -m src.scripts.clean_release_cli compliance-run \
|
||||
--candidate-id 2026.03.09-rc1 \
|
||||
--actor release-operator
|
||||
```
|
||||
|
||||
#### B) API-автоматизация
|
||||
|
||||
Поддерживаемые endpoint’ы:
|
||||
- V2 lifecycle:
|
||||
- `POST /api/clean-release/candidates`
|
||||
- `POST /api/clean-release/candidates/{candidate_id}/artifacts`
|
||||
- `POST /api/clean-release/candidates/{candidate_id}/manifests`
|
||||
- `GET /api/clean-release/candidates/{candidate_id}/overview`
|
||||
- Legacy compatibility (для постепенной миграции интеграций):
|
||||
- `POST /api/clean-release/candidates/prepare`
|
||||
- `POST /api/clean-release/checks`
|
||||
- `GET /api/clean-release/checks/{check_run_id}`
|
||||
|
||||
#### C) TUI thin client
|
||||
|
||||
```bash
|
||||
cd /home/busya/dev/ss-tools
|
||||
./run_clean_tui.sh <candidate_id>
|
||||
```
|
||||
|
||||
Горячие клавиши:
|
||||
- `F5`: Run Compliance
|
||||
- `F6`: Build Manifest
|
||||
- `F7`: Reset Draft
|
||||
- `F8`: Approve
|
||||
- `F9`: Publish
|
||||
- `F10`: Refresh Overview
|
||||
|
||||
Ожидаемый flow:
|
||||
1. Выбрать `candidate_id`.
|
||||
2. Подтвердить `profile=enterprise-clean`.
|
||||
3. Запустить проверку (F5).
|
||||
4. Дождаться терминального статуса:
|
||||
- `COMPLIANT` — кандидат готов к следующему этапу выпуска;
|
||||
- `BLOCKED` — выпуск запрещён до устранения нарушений.
|
||||
3. Выполнить `F6` (если манифест отсутствует).
|
||||
4. Выполнить `F5` для compliance.
|
||||
5. При `COMPLIANT` — перейти к `F8` и `F9`.
|
||||
6. При `BLOCKED` — устранить нарушения и повторить `F5`.
|
||||
|
||||
По умолчанию `run_clean_tui.sh` запускает TUI в `real` режиме (`CLEAN_TUI_MODE=real`) без инъекции демонстрационных нарушений.
|
||||
Важно: TUI запускается только в интерактивном TTY; для headless-среды используйте CLI/API.
|
||||
|
||||
### Переменные запуска `run_clean_tui.sh`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user