ci: перевести merge gate на Gitea + Woodpecker

- .woodpecker/check.yaml, smoke.yaml, release.yaml
- local-backend агент: Java 21, Docker Compose v2, Python 3, Node/Playwright
- concurrency lms-ci, чтобы smoke/release не занимали порты одновременно
- deploy/WOODPECKER.md: server, OAuth Gitea, systemd-агент, security note
- удалён .gitlab-ci.yml
This commit is contained in:
2026-10-28 20:11:14 +03:00
parent 1e1e9ae0e4
commit 685916c4bd
13 changed files with 310 additions and 161 deletions

View File

@@ -196,12 +196,12 @@
привязка групп, авторские материалы курса.
- Полная security-матрица и negative-тесты «свой/чужой курс».
- Upgrade-тест миграций.
- Индексы; пагинация аудита и bulk-выдача групп с именами — выполнены;
оставшийся N+1 в отдельных лабораторных списках — follow-up (§ 9.1).
- Индексы; keyset-пагинация аудита, bulk-выдача групп и пакетные детали
лабораторных — выполнены.
- Аудит скачиваний и чувствительных действий (`identity.audit_events`,
`/admin/audit`).
- CI merge gate: `test ktlintCheck detekt evidenceCheck` и smoke полного стека
на каждом push/MR; полный `release-evidence` — для тегов/вручную.
- CI на Gitea + Woodpecker: `check` (`test ktlintCheck detekt evidenceCheck`)
и `smoke` на каждом push/MR; полный `release` — для тегов/вручную.
- Проверка backup: создание, retention, `verify`, restore на staging.
- Документация, deploy/runbook, smoke.
@@ -357,8 +357,9 @@ identity V13, **academic V12**, progress V13.
- **Сессии.** Web-сессия скользящая 7 дней, абсолютный потолок 30 дней
(`LMS_SESSION_ABSOLUTE_TIMEOUT`); истёкшие refresh-токены чистит ночная
задача (`LMS_REFRESH_TOKEN_RETENTION`).
- **CI.** Конфигурация и `ci-preflight.sh` готовы; первый реальный pipeline
на GitLab shell-runners ещё нужно подтвердить.
- **CI.** Конфигурация `.woodpecker/` и `ci-preflight.sh` готовы; Woodpecker
server/agent и первый реальный pipeline ещё нужно развернуть и подтвердить
(`deploy/WOODPECKER.md`).
- **Внешняя интеграция «Контингент»/`next.uniyar.ac.ru` исключена из плана**
до появления нового ТЗ и доступа к API.
@@ -378,7 +379,8 @@ identity V13, **academic V12**, progress V13.
7 дней sliding с абсолютным потолком 30 дней; logout, смена пароля и
закрытие доступа отзывают refresh.
- Security-матрица и миграционный upgrade-тест зелёные (identity до `V13`).
- CI на каждом push/MR прогоняет `test ktlintCheck detekt evidenceCheck` и
smoke полного стека; полный release-evidence обязателен для тегов.
- CI (Gitea + Woodpecker) на каждом push/MR прогоняет
`test ktlintCheck detekt evidenceCheck` и smoke полного стека; полный
`release` обязателен для тегов.
- Backup перед деплоем обязателен; restore проверен на staging.
- Документация, deploy/runbook и smoke обновлены.