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:
@@ -2,7 +2,8 @@
|
||||
|
||||
**Дата:** 2026-10-28.
|
||||
**Ветка:** `feature/groups-courses` (последняя история — `git log --oneline`).
|
||||
**Последний коммит перед этой итерацией:** `3aae2b8` (`docs: handoff после закрытия продуктовых рисков`).
|
||||
**HEAD до переделки CI:** `d98c3b0` (`feat: закрыть остаточный backlog`);
|
||||
история CI-правки — следующий коммит в `git log`.
|
||||
**Пуш:** не выполнялся.
|
||||
**Рабочее дерево:** чистое. `exports/` и `texput.log` игнорируются и в коммиты не входят.
|
||||
|
||||
@@ -122,13 +123,15 @@
|
||||
инвентаризация активов).
|
||||
- Runtime/load: 100 групп / 1000 студентов, 125 параллельных чтений,
|
||||
0 ошибок, p95 < 1 c.
|
||||
- CI:
|
||||
- CI: Gitea + Woodpecker 3.x, конфигурация в `.woodpecker/`:
|
||||
- `check` на push/MR: тесты, ktlint, detekt, `evidenceCheck`;
|
||||
- `smoke` на push/MR: preflight + полный стек, health, вход админа, один курс;
|
||||
- `release-evidence` обязателен для тегов, вручную для веток: тесты,
|
||||
миграции, mutation, runtime/load, browser E2E, финальный evidence.
|
||||
- `smoke` на push/MR: после `check` — preflight + полный стек, health,
|
||||
вход админа, один курс;
|
||||
- `release` на тег или вручную: тесты, миграции, mutation, runtime/load,
|
||||
browser E2E, финальный evidence.
|
||||
- `scripts/ci-preflight.sh` проверяет Java 21, Docker Compose v2, Python 3,
|
||||
Node и Playwright; первый реальный GitLab pipeline ещё не подтверждён.
|
||||
Node и Playwright. Установка server/agent — `deploy/WOODPECKER.md`.
|
||||
- Первый реальный Woodpecker pipeline ещё не подтверждён.
|
||||
- Полный `./scripts/ldd-release.sh` локально прошёл; browser E2E — 18/18.
|
||||
|
||||
### 1.9. Миграции
|
||||
@@ -172,7 +175,7 @@
|
||||
# 2. Полный LDD release (долго, нужны Docker/Java/Node + Chromium/Firefox/WebKit)
|
||||
./scripts/ldd-release.sh
|
||||
|
||||
# 3. Быстрый smoke (то же, что CI smoke)
|
||||
# 3. Быстрый smoke (то же, что workflow smoke)
|
||||
./scripts/ldd-smoke.sh
|
||||
|
||||
# 4. Отдельные проверки
|
||||
@@ -208,11 +211,11 @@ cat build/reports/evidence/index.md
|
||||
у обычных пользователей.
|
||||
|
||||
2. **Первый реальный CI-прогон.**
|
||||
Конфиг, smoke и `scripts/ci-preflight.sh` готовы, но нужно убедиться, что в
|
||||
GitLab есть shell-runners с тегами `lms-shell` (smoke) и `lms-release`
|
||||
(полный release), Java 21, Docker Compose v2, Python 3, Node и браузерами
|
||||
Chromium/Firefox/WebKit. `check` использует privileged `docker:dind`.
|
||||
Дождаться зелёного push-MR pipeline и первого tag-job `release-evidence`.
|
||||
Развернуть Woodpecker server и local-backend агент по
|
||||
`deploy/WOODPECKER.md`, включить репозиторий в Woodpecker и дождаться
|
||||
зелёных workflow `check`/`smoke` на push-MR и `release` на теге. Агенту
|
||||
нужны Java 21, Docker Compose v2, Python 3, Node и браузеры
|
||||
Chromium/Firefox/WebKit.
|
||||
|
||||
3. **Визуальная регрессия и мобильный набор E2E.**
|
||||
Сейчас 6 сценариев × 3 браузера, без screenshot-diff. Добавлять по мере
|
||||
@@ -297,4 +300,6 @@ cat build/reports/evidence/index.md
|
||||
- `web/.../admin/AdminAuditController.kt`, `LegacyAssetsController.kt`.
|
||||
- `services/gateway/.../JwtAuthenticationFilter.kt`.
|
||||
- `scripts/ldd-*.sh`, `scripts/ci-preflight.sh`, `scripts/legacy-assets.sh`.
|
||||
- `deploy/backup.sh`, `deploy/deploy.sh`, `deploy/DEPLOY.md`.
|
||||
- `.woodpecker/{check,smoke,release}.yaml` — CI на Gitea + Woodpecker.
|
||||
- `deploy/backup.sh`, `deploy/deploy.sh`, `deploy/DEPLOY.md`,
|
||||
`deploy/WOODPECKER.md`.
|
||||
|
||||
Reference in New Issue
Block a user