Added new endpoints for estimating and executing runtime log auto-cleanup based on tenant settings. Introduced configuration options for auto-cleanup policies, including scheduling and file size limits. Updated the API documentation and UI components to reflect these changes, improving user interaction with runtime log management. Enhanced error handling and added new UI elements for better visibility of audit logs and cleanup actions.
Gitea Actions
Workflow: workflows/ci.yaml.
| Job | PR | push в main |
|---|---|---|
| changes, openapi, web, go, bird2 | quality gates | quality gates |
| commitlint | да | — |
| release | — | semantic-release + docker push (один run) |
Подробнее: docs/releasing.md.
CI (quality gates)
Job changes вычисляет флаги по путям в diff. Полный прогон (все узлы openapi / web / go / bird2 в графе): .gitea/workflows/*, scripts/*, .golangci.yml, .pre-commit-config.yaml, корневой package.json / .releaserc.json. Отдельно: migrations/*, docs/openapi.yaml → go / openapi и т.д. (см. ci.yaml).
На pull request — commitlint (Conventional Commits).
Runner: ubuntu-latest, bird2 из apt, Docker для job release.
Release (job в ci.yaml)
После успешных quality gates на push в main job release:
npx semantic-release— тегvX.Y.Zна текущий commit (без дополнительного commit в main).- Gitea Release +
CHANGELOG.mdкак attachment (не в git). docker buildx bake default --pushсVERSION=X.Y.Z— в том же job.
Если releasable-коммитов нет — semantic-release no-op, образы не публикуются.
Секреты
ACTIONS_PAT: push tags, releases, Container Registry. Fallback: gitea.token.
Теги образов
git.shts.su/<owner>/<имя>:latest
git.shts.su/<owner>/<имя>:v1.2.3
git.shts.su/<owner>/<имя>:1.2.3
git.shts.su/<owner>/<имя>:<short-sha>
git.shts.su/<owner>/<имя>:sha-<full-sha>
Имена образов: evobgp-api, evobgp-all, evobgp-scheduler, evobgp-ingest, evobgp-render, evobgp-deploy, evobgp-node, evobgp-web, evobgp-web-all, evobgp-agent, evobgp-bird2.
Удалённый спикер (compose deploy/compose/docker-compose.remote-speaker.yaml): evobgp-bird2, evobgp-agent, evobgp-node (fallback profile); Traefik — внешний traefik:latest. CI: scripts/validate-remote-speaker-compose.sh.
Пример:
docker pull git.shts.su/myuser/evobgp-api:1.2.3