Reviewed-on: https://git.avroid.tech/Sandbox/githooks/pulls/5
Проверка именования фича-бранчей и оформления Commit Message
Внедрение в репозиторий Git Pre-Commit check в качестве скрипта, который будет проверять на валидацию оформления коммитов в основную ветку репозитория
- Проверка названия фича-бранчей
- Проверка коммит сообщения
Проверка осуществляется через добавление настройке администрирования репозитория Settings > GitHooks > Pre-Commit bash-скрипта. Пример скрипта, настроенного на данном репозитории: check_commits.sh
Протестировать работу можно на этом репозитории
Branch name check
Коммитить напрямую в master/main ветку запрещено, все изменения проводятся через PR из feature-branch в master/main ветку
Допустимые названия веток
В проектах мы выделяем следующие типы веток:
master/main # мастер ветка, может быть любое другое название. Определяется в конфигурации репозитория
release # ветки релизов
rc # ветки релиз-кандидатов
smoke # ветки смоков
feature # ветки, в которых ведется разработка фичей или изменение хеша сабмодулей, обычно именуются с именем Eva тикета и описанием
hotfix/bugfix # срочные исправления. могут не иметь Eva тикета в названии
Основные требования к именованию:
- Для разделения блоков имен используется нижнее подчеркивание "_"
- Все ветки в своем названии должны содержать номер тикера из Eva / код проекта
- Все ветки должны иметь краткое описание, к чему относится эта ветка / версию
- В зависимости от типа ветки, к основному названию может добавляться приставка или суффикс
PR name check
PR-ветки создаются автоматически при создании PR в Gitea.
- EvaID в имени PR должно совпадать с именем EvaID из feature-ветки
- Если PR находится в состоянии "Work in progress", то ставится префикс "WIP: ". В Gitea есть функция помечать PR в WIP.
Feature-branch name example: T-UST-6499_Use_Keychain
PR name example: [T-UST-6499] Use Keychain
Commit message check
- В начале сообщении коммита в обязательном порядке должен быть указан номер EvaID тикета в квадратных скобках
- После скобок пишется краткое содержание коммита
- Валидация сообщений коммитов на наличие EvaID проходит на стороне Git сервера. При отсутствии EvaID - коммиты, PR реджектятся.
Example Git commit message:
[T-UST-1234] My very useful commit message
| |
EvaID ticket Commit message
Description
Languages
Shell
100%