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

@@ -64,7 +64,7 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`.
./gradlew ktlintCheck detekt test # линтеры (строгий режим) + тесты
./gradlew evidenceCheck # LDD: P0-claims должны иметь зелёные свидетельства
./gradlew ktlintFormat # автоформат Kotlin
./scripts/ldd-smoke.sh # быстрый smoke полного стека (как CI job smoke)
./scripts/ldd-smoke.sh # быстрый smoke полного стека (как CI workflow smoke)
./scripts/ldd-runtime.sh # runtime-smoke полного стека + scale load
./scripts/ldd-migration-upgrade.sh # upgrade с master-схемы
./scripts/ldd-mutation.sh # PIT: mutation strength критичных P0-компонентов
@@ -84,12 +84,13 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`.
P0 без зелёного теста валит `./gradlew evidenceCheck`. Runtime, migration,
mutation, browser E2E и smoke — скрипты из `scripts/`; baseline —
`docs/evidence/baseline-2026-10-27.md`.
- CI merge gate — `.gitlab-ci.yml`: `test ktlintCheck detekt evidenceCheck` и
job `smoke` (`scripts/ldd-smoke.sh`) на каждом push/MR. Полный
`release-evidence` (`scripts/ldd-release.sh`) обязателен для тегов и
запускается вручную для веток. `check` требует privileged `docker:dind`
для Testcontainers; `smoke`/`release-evidence` — shell-runner с Java 21,
Docker Compose v2, Python 3 и (для release) Node + Chromium/Firefox/WebKit.
- CI merge gate — `.woodpecker/` (Gitea + Woodpecker 3.x):
workflow `check` (`test ktlintCheck detekt evidenceCheck`) и `smoke`
(`scripts/ldd-smoke.sh`) на каждом push/MR; полный `release` —
`scripts/ldd-release.sh` — на тег или вручную. Smoke/release идут на
Woodpecker-агенте с local backend: Java 21, Docker Compose v2, Python 3,
Node и Chromium/Firefox/WebKit. Установка —
[`deploy/WOODPECKER.md`](deploy/WOODPECKER.md).
Baseline: **51 claim, 346 тестов, 18/18 browser E2E**.
## Запуск в Docker (для сервера)