Выпуск релизов¶
Версии следуют Semantic Versioning. Версия хранится в
pyproject.toml и доступна в документе OpenAPI и через
telegram-me version.
Шаги¶
- Перенесите записи из Unreleased в
CHANGELOG.mdпод новый заголовок## [X.Y.Z] - YYYY-MM-DD. - Увеличьте
versionвpyproject.tomlи выполнитеuv lock. - Сделайте коммит (
Release X.Y.Z) в ветке и откройте pull request:mainзащищена и принимает изменения только через pull request с пройденными проверками. Его слияние уже развернёт коммит в продакшене какsha-…. -
Когда release-прогон этого слияния в
mainпройдёт, поставьте тег на merge-коммит и отправьте его:
Тег собирает и публикует теги образа X.Y.Z, X.Y и X в GHCR и Docker Hub
и создаёт релиз на GitHub с разделом истории изменений в качестве заметок.
Pull request, который несовместимо меняет контракт REST или GraphQL, роняет
workflow Guards (Несовместимые изменения).
Такое изменение требует мажорной версии: поставьте pull request метку
breaking-change и опишите изменение в разделе Changed файла
CHANGELOG.md.
Срочный откат¶
Если релиз ведёт себя плохо, запустите Actions → Deploy с предыдущим тегом
sha-…; см. Продакшен → Откат.