CI / ruff · mypy · pytest (pull_request) Failing after 3m40s
- app/pipeline: протокол CIProvider, клиент Gitea Actions (прогон по head_sha, упавший шаг, лог джоба, ретраи), PipelineWatcher — опрос только при незавершённых push, сообщение о push обновляется CI ⏳ → ✅/❌ → CD 🚀/⛔, автору — отдельные уведомления - деплой сервисов — только после зелёного CI; старый push не откатывает сервис, который развернёт более новый; после рестарта бот продолжает с того же места - CI_PROVIDER=none — прежнее поведение (деплой сразу после push) - шаблон tgit-uploads: .gitea/workflows/check.yml; .gitea/ защищён от правок из бота - миграция 0002: старые push помечены skipped, чтобы не слать им «таймаут CI» - ADR-016, ARCHITECTURE §2.5/§5.2, README, DEPLOY, .env.example Refs #11 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
334 B
Python
11 lines
334 B
Python
from app.config import CISettings
|
|
from app.pipeline.gitea import GiteaCI
|
|
from app.pipeline.provider import CIProvider
|
|
|
|
|
|
def make_ci(settings: CISettings) -> CIProvider | None:
|
|
"""None — no CI to wait for: services deploy right after push."""
|
|
if settings.provider == "gitea":
|
|
return GiteaCI(settings)
|
|
return None
|