Compare commits

...

1 Commits

Author SHA1 Message Date
564c223f77 docs: add CI/CD backlog 2026-08-14 00:56:01 +03:00

View File

@@ -1,13 +1,13 @@
# Backlog Calendar Run
**Срез репозитория: 12 июля 2026.** Это единый продуктовый и технический backlog, составленный по текущему коду, а не список абстрактных идей.
**Срез репозитория: 14 августа 2026.** Это единый продуктовый и технический backlog, составленный по текущему коду, а не список абстрактных идей.
## Текущая база
| Контур | Версия | Уже работает |
|---|---:|---|
| Backend | `1.6.0` | Express + PostgreSQL, миграции и seed, строгий CRUD личных стартов, фильтры истории, cookie-сессии, CSRF, подтверждение email, Turnstile, SMTP, смена пароля и управление сессиями, SSRF-защита и восстановление обложек, `/health`, `/ready`, `/meta`, CI с PostgreSQL. |
| Frontend | `0.9.0` | Защищённые маршруты и auth-экраны, экран аккаунта, поиск/фильтры/экспорт истории, нативные поля даты/старта, удобный ввод результатов, дашборд с последними стартами и графиком AG Charts, версия FE/BE в футере. |
| Frontend | `0.10.2` | Защищённые маршруты и auth-экраны, экран аккаунта, поиск/фильтры/экспорт истории, нативные поля даты/старта, удобный ввод результатов, дашборд с последними стартами и графиком AG Charts, версия FE/BE в футере. |
## Правила версионирования и выпуска
@@ -27,6 +27,19 @@
`2.0.0` не планируется заранее: его поводом может быть только подтверждённая потребность в совместном доступе, командах или публичных стартах — это изменит модель владельцев и доступа.
## Ближайшие изменения — CI/CD
| ID | Приоритет | Задача | Результат / критерий приёмки |
|---|---|---|---|
| OPS-CICD-01 | P0 | Стабилизировать Gitea Runner | Workflow не остаётся в `queued`: runner автоматически забирает job `ubuntu-latest`, изолированно выполняет текущий backend/frontend CI и возвращает итоговый статус в PR. |
| OPS-CICD-02 | P0 | Закрыть пробелы текущего CI | Добавлены frontend-регрессионный тест сортировки стартов, полный TypeScript type-check, `git diff --check`, проверка согласованности package/lock версий и сверка CHANGELOG с SemVer-историей. |
| OPS-CICD-03 | P0 | Проверять production-образы | CI собирает оба Dockerfile и запускает минимальный smoke-test стека: frontend отвечает `200`, `/api/health` возвращает актуальную backend-версию, `/api/ready` подтверждает PostgreSQL. |
| OPS-CICD-04 | P0 | Защитить `main` | Merge разрешён только для актуальной ветки без конфликтов после успешного обязательного `build-and-test`; прямой push в `main` запрещён. |
| OPS-CICD-05 | P1 | Публиковать immutable-образы | После зелёного CI в Gitea Container Registry публикуются frontend/backend-образы с тегом commit SHA; SemVer-тег добавляется при релизе, `latest` не используется как единственный источник версии. |
| OPS-CICD-06 | P1 | Добавить ручной production deploy | После зелёного CI отдельный manual workflow по SSH обновляет Synology на выбранный SHA, использует Gitea Secrets, не перезаписывает `.env`/данные, выполняет Compose update и итоговые health/readiness-проверки. |
| OPS-CICD-07 | P1 | Обеспечить rollback | Перед deploy фиксируется предыдущий SHA образов; при неуспешном smoke-test стек возвращается на него. Процедура проверена без восстановления базы, а миграции до запуска классифицированы как обратимые либо требуют backup. |
| OPS-CICD-08 | P2 | Добавить эксплуатационные проверки | По расписанию выполняются dependency/security scan и очистка старых образов; ошибки CI/CD отправляются владельцу. Backup/restore остаются частью `BE-170-01`, а не маскируются успешным deploy. |
## P0 — BE 1.4.2 / FE 0.7.1
### Backend 1.4.2