Skip to content

Версионирование BirdLense Hub

English


Схема версий

Используется Semantic Versioning: MAJOR.MINOR.PATCH.

Часть Когда увеличивать
MAJOR Несовместимые изменения API или конфигурации
MINOR Новая функциональность с обратной совместимостью
PATCH Исправления ошибок, мелкие улучшения

Примеры: - 0.1.00.1.1 — исправление бага - 0.1.10.2.0 — новая фича (например, новый тип триггера) - 1.0.02.0.0 — ломающее изменение (например, смена формата конфига)

Где хранится версия

Файл Назначение
VERSION Единый источник истины (корень репозитория)
app/ui/package.json Версия UI-пакета
app/web/openapi.yaml Версия API в OpenAPI

При релизе обновлять все перечисленные ниже места одной и той же строкой версии.

Чеклист перед коммитом релиза (#120):

  1. Корневой VERSION
  2. app/ui/package.json → поле version
  3. app/web/openapi.yamlinfo.version
  4. mkdocs.ymlextra.site_version (и при необходимости overrides/main.html — баннер)
  5. CHANGELOG.md — секция [Unreleased] / новый заголовок версии

Проверка одной командой из корня репозитория:

python3 scripts/check-docs-version.py

Скрипт сверяет VERSION с mkdocs.yml, package.json и openapi.yaml (в CI — перед сборкой MkDocs). Видимый баннер задаётся в overrides/main.html (блок announce); ключ theme.announcement в YAML Material не используется.

Релизы и теги

  1. Перед релизом: обновить VERSION, package.json, openapi.yaml, CHANGELOG.md; закрыть/обновить Issues и доску Roadmap (ROADMAP.ru.md § Отчётность, корневой CONTRIBUTING.ru.md).
  2. Коммит: git add -A && git commit -m "Release v0.1.0"
  3. Тег: git tag -a v0.1.0 -m "Release v0.1.0"
  4. Пуш: git push && git push origin v0.1.0
  5. GitHub Release: создать Release из тега, вставить заметки из CHANGELOG

Что запускает GitHub Actions после релиза

  • Docker: docker-publish.ymlmain + опубликованный Release → latest + semver-тег образа.
  • Сайт: docs-pages.yml — деплой Pages только с main (push по путям или workflow_dispatch). После merge релиза этого достаточно; с тега не деплоим (правила окружения github-pages).

Wiki (опционально): WIKI_AUTOMATION.

CHANGELOG

Формат Keep a Changelog.

Секции: - Added — новая функциональность - Changed — изменения в существующем поведении - Deprecated — устаревшее (будет удалено) - Removed — удалённая функциональность - Fixed — исправления багов - Security — уязвимости

Обновления

  • Минорные (0.x.y): обновление через make deploy или make pull. Конфиг и данные сохраняются.
  • Мажорные: см. заметки к релизу — могут потребоваться миграции.

См. также: Changelog, INSTALL.