DenozordecandCursor 87309cfcec
CI / changes (push) Successful in 7s
CI / openapi (push) Has been skipped
CI / go (push) Has been skipped
CI / docker-web (push) Failing after 1m21s
CI / docker-bird (push) Has been skipped
CI / bird2 (push) Has been skipped
CI / docker-go (push) Has been skipped
web(ui): feedback — confirm dialog, skeletons, README
Co-authored-by: Cursor <[email protected]>
2026-05-19 12:01:15 +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%