Updated the ScheduleAgendaPanel to include a job filter feature, allowing users to filter jobs by type (all, refresh, failed). Refactored the layout to integrate a new ScheduleCalendarView for better organization. Enhanced the ScheduleJobsGrid to conditionally display pagination based on the number of items. Additionally, modified the Schedule component to utilize the new ScheduleJobsCard for improved job display and loading states, ensuring a more cohesive user experience.
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