82 lines
3.4 KiB
YAML
82 lines
3.4 KiB
YAML
work_item: ORCH-040
|
||
description: >
|
||
Инфра-фикс: контейнер/агенты не плодят root-файлы в хостовом репо.
|
||
Часть проверок автоматизируема через pytest (валидация compose-конфига),
|
||
часть — обязательные ops/integration проверки на staging и хосте (manual),
|
||
т.к. касаются прав файловой системы хоста и рантайма docker.
|
||
|
||
tests:
|
||
# --- Автоматизируемые (pytest, парсинг docker-compose.yml) ---
|
||
- id: TC-01
|
||
type: unit
|
||
description: >
|
||
docker-compose.yml: оба сервиса (orchestrator, orchestrator-staging)
|
||
имеют user: "1000:1000" (при выборе Варианта 1).
|
||
module: tests/test_orch040_compose.py
|
||
expected: PASS
|
||
|
||
- id: TC-02
|
||
type: unit
|
||
description: >
|
||
docker-compose.yml: оба сервиса сохраняют group_add со значением "999"
|
||
(доступ к docker.sock не потерян — МИНА 1).
|
||
module: tests/test_orch040_compose.py
|
||
expected: PASS
|
||
|
||
- id: TC-03
|
||
type: unit
|
||
description: >
|
||
docker-compose.yml: SSH-маунт согласован с HOME агента — target каталога
|
||
.ssh лежит под /home/slin (а не /root/.ssh), для обоих сервисов.
|
||
module: tests/test_orch040_compose.py
|
||
expected: PASS
|
||
|
||
- id: TC-04
|
||
type: unit
|
||
description: >
|
||
launcher: HOME, форсимый в окружении агента и git_env, указывает на каталог,
|
||
совместимый с SSH/claude-маунтами (/home/slin) — нет рассинхрона HOME vs uid.
|
||
module: tests/test_orch040_compose.py
|
||
expected: PASS
|
||
|
||
# --- Регресс существующего поведения ---
|
||
- id: TC-05
|
||
type: unit
|
||
description: >
|
||
Весь существующий набор тестов зелёный (нет регресса логики конвейера/launcher).
|
||
module: tests/ # pytest tests/ -q
|
||
expected: PASS
|
||
|
||
# --- Integration / ops (staging 8501, затем хост) ---
|
||
- id: TC-06
|
||
type: integration
|
||
description: >
|
||
На staging (8501) прогнать тестовую задачу конвейером end-to-end; артефакты
|
||
worktree и docs создаются под 1000:1000 (НЕ root:root). Проверка AC-1.
|
||
module: scripts/staging_check.py # + ls -ld на хосте
|
||
expected: PASS
|
||
|
||
- id: TC-07
|
||
type: integration
|
||
description: >
|
||
После staging-прогона на хосте под slin: git -C /home/slin/repos/orchestrator
|
||
pull/status/reset без Permission denied. Проверка AC-2.
|
||
module: manual/host-check
|
||
expected: PASS
|
||
|
||
- id: TC-08
|
||
type: integration
|
||
description: >
|
||
claude preflight/auth проходит под новым uid: агент стартует и завершается
|
||
exit_code=0 (creds /home/slin/.claude читаются). Проверка AC-3 (МИНА 2).
|
||
module: manual/staging-agent-run
|
||
expected: PASS
|
||
|
||
- id: TC-09
|
||
type: integration
|
||
description: >
|
||
docker.sock доступен из контейнера под uid 1000 (docker ps работает) и
|
||
ssh-деплой-хук выполняется. Проверка AC-4, AC-5 (МИНА 1 + SSH).
|
||
module: manual/staging-deploy-path
|
||
expected: PASS
|