Автоматизация релизов на GitHub
Если вы поддерживаете несколько проектов или библиотек на GitHub и устали делать релизы вручную, шаблон Auto Release Template поможет с автоматизацией. Он генерирует changelog, создаёт коммит с новой версией, добавляет тег и публикует GitHub Release. При этом ничего не опубликуется без вашего подтверждения — всегда есть возможность проверить релиз перед публикацией. Одно из значимых отличий — в GitHub Release сразу видны все изменения, без лишней ссылки на полный changelog.
Принцип работы
- Вносите правки и называйте коммиты по Conventional Commits.
- Запустите
npm run release— обновится версия, сгенерируетсяCHANGELOG.md, создастся коммит и тег. - Вызовите
git push --follow-tags. - GitHub Action сработает на новый тег и создаст GitHub Release с автоматически сгенерированным changelog.
Настройка и кастомизация
Вы можете изменить формат коммитов, префикс тегов и определить типы коммитов, которые попадут в changelog. Дополнительно вы можете настроить:
- автопубликацию npm пакета в registry npmjs или GitHub Packages;
- использование с
pnpm; - создание draft релиза;
- создание provenance statement;
- подключение хуков и добавление сгенерированных файлов в билд.
Подробные примеры для продвинутых сценариев есть в вики.
Итог
Использование Auto Release Template сокращает время на создание релизов, позволяет остановиться или откатиться на любом шаге и обеспечивает аккуратный changelog прямо в GitHub релизе. Дополнительно, с правильной настройкой GitHub Actions, это даст возможность публиковать релизы даже в приватных и командных репозиториях.
