Files
EvoBGP/.gitea
Denozordec a37c931ee7
CI / changes (push) Successful in 10s
CI / commitlint (push) Has been skipped
CI / openapi (push) Successful in 27s
CI / web (push) Successful in 38s
CI / go (push) Successful in 2m36s
CI / bird2 (push) Successful in 15s
CI / release (push) Failing after 3m7s
feat(monorepo): restructure web components and update configurations
Refactored the project structure to support a monorepo setup, moving the web application to `apps/web/` and updating related configurations. Adjusted pre-commit hooks to use `pnpm` for linting and formatting. Updated CI workflows to reflect the new directory structure and dependencies. Removed legacy files and configurations from the previous `web/` directory, streamlining the project for better maintainability and clarity.
2026-06-30 23:54:28 +07:00
..

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.yamlgo / openapi и т.д. (см. ci.yaml).

На pull requestcommitlint (Conventional Commits).

Runner: ubuntu-latest, bird2 из apt, Docker для job release.

Release (job в ci.yaml)

После успешных quality gates на push в main job release:

  1. npx semantic-release — тег vX.Y.Z на текущий commit (без дополнительного commit в main).
  2. Gitea Release + CHANGELOG.md как attachment (не в git).
  3. 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

См. deploy/docker/README.md, docs/quickstart.md.