Добавить в корзинуПозвонить
Найти в Дзене

Please release conventional commit

Помните я писал, что перешел на коммиты агентом? Это дало сразу несколько плюсов 1. Дисциплинирует, стараешься вести сессию через прогрузку тикета и не уходить в сторону, когда подмывает что-нибудь еще зацепить 2. Спустя несколько дней, агент стал заметно чаще обращаться к истории и использовать описание коммитов, которые сам же и написал. Они довольно подробные и реально помогают Но это было только начало, буквально сразу же стало понятно, что вот тут то и имеет смысл перейти на подход conventional commit, который очень распространен в опенсорсных продуктах. <type>[optional scope]: <description> feat: allow provided config object to extend other configs BREAKING CHANGE: `extends` key in config file is now used for extending other config files ии про него знает, поэтому достаточно указать в AGENTS.md что ему нужно следовать. Плюс мы поставили линтер, который чекает правильность (вообще вокруг этого подхода довольно богатый тулинг, описание и ссылки есть на сайте) conventionalcomm

Please release conventional commit

Помните я писал, что перешел на коммиты агентом? Это дало сразу несколько плюсов

1. Дисциплинирует, стараешься вести сессию через прогрузку тикета и не уходить в сторону, когда подмывает что-нибудь еще зацепить

2. Спустя несколько дней, агент стал заметно чаще обращаться к истории и использовать описание коммитов, которые сам же и написал. Они довольно подробные и реально помогают

Но это было только начало, буквально сразу же стало понятно, что вот тут то и имеет смысл перейти на подход conventional commit, который очень распространен в опенсорсных продуктах.

<type>[optional scope]: <description>

feat: allow provided config object to extend other configs

BREAKING CHANGE: `extends` key in config file is now used for extending other config files

ии про него знает, поэтому достаточно указать в AGENTS.md что ему нужно следовать. Плюс мы поставили линтер, который чекает правильность (вообще вокруг этого подхода довольно богатый тулинг, описание и ссылки есть на сайте) conventionalcommits [.] org.

А дальше я начал думать, а как из этого собирать нормальные ченджлоги и делать релизы прямо на гитхабе. Мне всегда казалось что это довольно муторная работа, поэтому мы ее избегали (да и смотреть особо некому). Как же я был не прав, оказывается существует Please Release это github action сделанный гуглом, который автоматично делает релизы на гитхабе базируясь на conventional commit (с большой долей конфигурации под конкретные правила конкретного проекта).

И вот это прямо бомба. Мало того, что он сам идет по версиям и генерирует нормальные релизы, у нас поменялся сам подход к их формированию. Концепт тут следующий, на каждый коммит создается пулреквест с измененной версией и заполненным ченджлогом, куда попадают все изменения с последнего релиза. Если его не мержить, то после очередного коммита он обновляется. Поэтому в любой момент времени для релиза достаточно сделать мерж (тут можно и cd подрубить если надо). Плюс мы повесили все проверки именно на этот пулреквест, а не на коммит, чтобы блокировать релиз если что-то пойдет не так.

Мы буквально за неделю перевели на эту схему основные проекты и кайфуем (жизнь одна)

Telegram | YouTube | AI Клуб