Denozordec 8a50ba44b3
CI / changes (push) Successful in 6s
CI / openapi (push) Has been skipped
CI / go (push) Successful in 39s
CI / docker-web (deploy/docker/evobgp-web/Dockerfile, , evobgp-web) (push) Has been skipped
CI / docker-web (deploy/docker/evobgp-web/Dockerfile, evobgp-all, evobgp-web-all) (push) Has been skipped
CI / docker-bird (push) Has been skipped
CI / bird2 (push) Successful in 13s
CI / docker-go-prime (push) Successful in 24s
CI / docker-go (deploy/docker/evobgp-agent/Dockerfile, , evobgp-agent) (push) Successful in 59s
CI / docker-go (evobgp-all, 1, deploy/docker/gobinary/Dockerfile, , evobgp-all) (push) Successful in 6m19s
CI / docker-go (evobgp-api, 1, deploy/docker/gobinary/Dockerfile, , evobgp-api) (push) Successful in 1m28s
CI / docker-go (evobgp-deploy, 0, deploy/docker/gobinary/Dockerfile, , evobgp-deploy) (push) Successful in 1m22s
CI / docker-go (evobgp-ingest, 0, deploy/docker/gobinary/Dockerfile, , evobgp-ingest) (push) Successful in 1m25s
CI / docker-go (evobgp-node, 0, deploy/docker/gobinary/Dockerfile, , evobgp-node) (push) Successful in 1m10s
CI / docker-go (evobgp-render, 0, deploy/docker/gobinary/Dockerfile, , evobgp-render) (push) Successful in 1m23s
CI / docker-go (evobgp-scheduler, 0, deploy/docker/gobinary/Dockerfile, , evobgp-scheduler) (push) Successful in 1m22s
feat: add live BGP protocol state tracking to peer listing
Enhanced the peer listing API to include live BGP session states by integrating a new function to retrieve protocol states from the BIRD socket. Added parsing logic for BGP protocol states and updated the peer JSON response to include session state information. Introduced unit tests for the new parsing functionality to ensure accuracy in state retrieval.
2026-04-09 15:39:01 +07:00

Gitea Actions

В репозитории включён workflow workflows/ci.yaml.

Job changes вычисляет два флага:

  • openapi — в диффе есть docs/openapi.yaml или redocly.yaml → запускается openapi (Redocly lint).
  • code — в диффе есть хотя бы один файл вне «только документация» → запускаются go, bird2 и при push в main/master docker-images.

Если изменены только файлы из списка ниже, code=false: Go-тесты, bird2 и сборка образов не запускаются; при необходимости всё ещё выполняется openapi, если трогали OpenAPI или redocly.yaml.

Список путей «только документация» (без полной сборки): всё под docs/, корневой README.md, web/README.md, .gitea/README.md, redocly.yaml.

Любой другой путь (в т.ч. .gitea/workflows/ci.yaml, go.mod, web/package.json, deploy/**, **/*.go) включает полный пайплайн.

Требования к runner:

  • Метка ubuntu-latest (или измените runs-on под свои labels).
  • Job bird2 ставит пакет bird2 из репозитория Ubuntu на runner (как образ evobgp-bird2 на ubuntu:noble) и вызывает bird -c … -p по файлам в checkout (без вложенного Docker: иначе bind-mount /workspace/... часто не виден демону Docker на хосте).
  • Job docker-images требует Docker и (для push) доступ к Container Registry Gitea с runner’а.

Сборка и публикация образов (docker-images)

Запускается только при push в ветки main или master (после успешного job go). Собираются образы из deploy/docker/* (все бинарники через gobinary, плюс evobgp-web, evobgp-agent, evobgp-bird2).

Секреты репозитория (для push в реестр)

Хост Container Registry в workflow зашит: git.shts.su (docker/login-action и теги образов).

В настройках репозитория Gitea: Settings → Actions → Secrets (или аналог):

Секрет Назначение
ACTIONS_PAT (Опционально) PAT с правом записи пакетов. Если не задан, для docker login используется gitea.token (нужны права у workflow на пакеты).

Вход в реестр в workflow:

  • registry: git.shts.su;
  • username: ${{ gitea.actor }};
  • password: ${{ secrets.ACTIONS_PAT || gitea.token }}.

Почему шаг «Log in to Gitea Registry» мог быть skipped

Раньше в if: стояло secrets.ACTIONS_PAT != ''. В Gitea act_runner такая проверка секрета в условии шага часто всегда ложна, из‑за этого логин всегда skipped. Сейчас условие только docker_push == 'true' (всегда при нормальном шаге Prepare), пароль: secrets.ACTIONS_PAT || gitea.token.

Если после правки docker login падает с 401/403 — выдайте job-токену или PAT право записи в Container Registry (в настройках Gitea / организации / репозитория, в зависимости от версии).

Если gitea.token в выражениях недоступен, в ci.yaml замените пароль на ${{ secrets.ACTIONS_PAT || github.token }}.

Имена образов и теги

Формат:

git.shts.su/<owner_lowercase>/<имя>:<тег>

где <имя> — одно из: evobgp-api, evobgp-all, evobgp-scheduler, evobgp-ingest, evobgp-render, evobgp-deploy, evobgp-node, evobgp-web, evobgp-web-all (UI с прокси на evobgp-all для профиля Compose microvps-full), evobgp-agent, evobgp-bird2.

Теги: latest, короткий SHA (7 символов), sha-<полный_commit_sha>.

Пример pull:

docker pull git.shts.su/myuser/evobgp-api:latest

Полная таблица образов, тегов, ссылок на страницы пакетов в Gitea и минимальный docker run для сервера без сборки — в docs/quickstart.md (раздел «Готовые образы без сборки»).

Убедитесь, что в Gitea включены пакеты (Container Registry) и у токена есть права на создание/обновление образов. Другой хост реестра — правьте registry: и префикс IMG= в ci.yaml.

Примечания

  • Сборка с платформой linux/amd64. При необходимости добавьте linux/arm64 и multi-arch в docker buildx build.
  • Для PR job docker-images не выполняется (только push в main/master), чтобы не публиковать образы из чужих форков без явной политики.
S
Description
No description provided
Readme
5.7 MiB
0 Stars 1 Watchers 0 Forks
v2.57.0
Latest
2026-11-02 18:53:30 +07:00
Languages
TypeScript 59.1%
Go 38.2%
Shell 1.4%
PowerShell 0.5%
CSS 0.2%
Other 0.5%