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

@@ -144,16 +144,14 @@ progress `V13`.
`scripts/legacy-assets.sh`: файлы без привязки к статье больше не публичны
(`404` для обычных пользователей), их нужно привязать или удалить.
CI (`.gitlab-ci.yml`) на каждом push/MR выполняет
`./gradlew --no-daemon test ktlintCheck detekt evidenceCheck` и job `smoke`
(`./scripts/ldd-smoke.sh`: полный стек, health, вход админа, один курс).
Полный job `release-evidence` (`./scripts/ldd-release.sh`) обязателен для тегов
и запускается вручную для веток. `smoke` и release запускают
CI (`.woodpecker/`, Gitea + Woodpecker 3.x) на каждом push/MR выполняет
workflow `check` (`./gradlew --no-daemon test ktlintCheck detekt evidenceCheck`)
и `smoke` (`./scripts/ldd-smoke.sh`: полный стек, health, вход админа, один
курс). Полный workflow `release` (`./scripts/ldd-release.sh`) обязателен для
тегов и запускается вручную для веток. Smoke/release начинаются с
`scripts/ci-preflight.sh`, который проверяет Java 21, Docker Compose v2,
Python 3, Node и Playwright. `check` использует privileged `docker:dind`
для Testcontainers; `smoke`/`release-evidence` выполняются на shell-runner
с Java 21, Docker Compose v2, Python 3, Node и браузерами
Chromium/Firefox/WebKit.
Python 3, Node и Playwright. Агент — local backend на хосте с Docker:
установка и systemd-юнит — [`WOODPECKER.md`](WOODPECKER.md).
## 8. Резервное копирование