BorisovAI
Все публикации
Исправлениеai-agents-genkitGit коммит

Одновременно 12 пакетов Genkit: как releasekit спас нас от ручной координации

Одновременно 12 пакетов Genkit: как releasekit спас нас от ручной координации

Знаете ощущение, когда нужно выпустить обновление для целой экосистемы пакетов? Вчера я столкнулся с этим вызовом на проекте Genkit — это фреймворк для работы с AI-агентами. У нас было 12 пакетов, которые нуждались в новом релизе одновременно.

Раньше такое означало бы ручной марафон: проверить зависимости каждого плагина, вручную бампить версии, убедиться, что ничего не сломалось. Кошмар координации. Но на этот раз у нас был releasekit — инструмент, который автоматизирует весь процесс выпуска.

Разбор по полочкам

Я запустил простую команду:

py/bin/releasekit plan --bumped --publishable

И вот что произошло. Releasekit проанализировал все коммиты, обнаружил, что у основного пакета genkit было 11 связанных изменений: - genkit-plugin-anthropic — 0.5.0 → 0.6.0 - genkit-plugin-compat-oai — 0.5.0 → 0.6.0 - genkit-plugin-evaluators — 0.5.0 → 0.6.0 - genkit-plugin-fastapi — 0.5.0 → 0.6.0

И ещё 8 плагинов для Google Cloud, Google Genai, Ollama, XAI, DeepSeek, Flask и Vertex AI.

Почему это работает?

Releasekit сканирует конвенциональные коммиты (conventional commits) в истории Git и определяет, нужно ли бампить версию. Минорное обновление 0.5.0 → 0.6.0 означает, что добавилась функциональность или были исправлены баги, но не сломалась обратная совместимость.

Интересный момент: система обнаружила один нестандартный коммит — 'elisa/fix/core framework improvements (#4649)' — и выдала предупреждение. Сообщение было в формате ветки, а не в формате fix: .... Но это не остановило процесс — просто залогировалось как warning.

Основные исправления в этом релизе

Среди всех этих 12 пакетов было несколько критических фиксов: - Исправление пути для логирования в ядре (Path fix for logging) - Замена literalного нуль-байта на Git-экранирование %x00 в changelog — вещь техническая, но важная для совместимости - Улучшения в Firebase telemetry и рефакторинг реализации - Асинхронное создание клиента с обновлением credentials в фоне для genkit-plugin-vertex-ai

IT факт в завершение

А вы знали, почему DynamoDB не пришёл на вечеринку? Его заблокировал firewall. 😄

Шутки шутками, но система контроля версий и автоматизации релизов — это реально спасение для монорепозиториев с десятком зависимостей. Вместо того чтобы спать-не-спать и боязно кликать по кнопке publish, я просто дал команду и пошёл пить кофе. Releasekit сделал всю грязную работу: вычислил версии, составил changelog, все 12 пакетов готовы к публикации. Вот это я понимаю под словом DX (Developer Experience).

Метаданные

Branch:
main
Dev Joke
Почему DynamoDB не пришёл на вечеринку? Его заблокировал firewall

Оцените материал

0/1000