Files
wiki/tasks/orchestrator/reports/dev-2026-06-02-orch6-tail.md
2026-06-02 22:40:01 +03:00

2.9 KiB
Raw Blame History

Dev Report: ORCH-6 multi-repo — додел хвоста (tests/docs/commit/deploy)

Дата: 2026-06-02 Статус: DONE

Задача

Добить ORCH-6 (функционал был написан ~75%): тесты, доки, коммиты, push, PR, пересборка, финальные проверки. НЕ включать Plane-webhook.

Сделано

  • tests/test_projects.py (16 тестов) — резолверы + парсинг ORCH_PROJECTS_JSON
  • tests/test_plane_webhook.py (4 теста, TestClient, launcher замокан) — фильтр + resolve repo + независимые префиксы
  • Прогон всех тестов в контейнере: 57 passed, 9 pre-existing fail (не трогал)
  • docs/ARCHITECTURE.md — секция реестра проектов / multi-repo
  • README.md — ORCH_PROJECTS_JSON в таблице конфига + «Как добавить проект»
  • docs/BUGFIXES_2026-06-03.md — ORCH-6 + ссылка на INCIDENT_2026-06-02
  • 7 коммитов (Conventional Commits), push в feature/ORCH-6-multirepo
  • PR #2 создан (Gitea API)
  • docker compose up -d --build → health ok
  • Финальный resolve-тест в контейнере: OK
  • Plane-webhook НЕ трогал (остаётся is_active=false)

Изменённые файлы

  • tests/test_projects.py (новый, 16 тестов)
  • tests/test_plane_webhook.py (новый, 4 теста)
  • docs/ARCHITECTURE.md, README.md, docs/BUGFIXES_2026-06-03.md

Результат

  • Тесты новые: 20 passed (16+4). Полный прогон: 57 passed, 9 pre-existing (signature 401/TypeError в test_webhooks.py — не мои).
  • Resolve в живом контейнере: RESOLVE OK: orchestrator enduro-trails | known: 2
  • Фильтр (unknown project → ignored, нет task/branch/agent) подтверждён через TestClient.
  • PR: admin/orchestrator#2
  • Health: {"status":"ok","service":"orchestrator"}

Проблемы и решения

  • Webhook-тесты сначала падали 401 (signature secret вшит в runtime env, не сбрасывается через os.environ из-за порядка импорта settings) → замокал verify_plane_signature в фикстуре.
  • test_prefixes падал только в полном прогоне (settings.db_path резолвится один раз при импорте; конфликт DB-пути с test_webhooks) → monkeypatch settings.db_path на изолированную БД в фикстуре.
  • Gitea token из .env извлёкся обрезанным (28 вместо 40) → взял из docker exec printenv ORCH_GITEA_TOKEN.

Следующий шаг

Стрим: ревью PR #2 → включить Plane-webhook (UPDATE webhooks SET is_active=true WHERE id='93f0c342...').