Настроить правила ревью кода в репозитории SourceCraft

SourceCraft позволяет гибко настраивать обязательные правила ревью кода, прежде чем код может быть добавлен в целевую ветку репозитория.

Подробнее см. на странице Правила ревью кода в SourceCraft.

Конфигурация правил ревью кода задается для конкретного репозитория и хранится в файле .sourcecraft/review.yaml.

Важно

Скоро перестанет поддерживаться хранение конфигурации CI/CD, правил ревью кода и политик веток в едином файле .src.ci.yaml в корне репозитория. Используйте отдельные файлы .sourcecraft/ci.yaml, .sourcecraft/review.yaml и .sourcecraft/branches.yaml.

Полную спецификацию файла .sourcecraft/review.yaml см. в репозитории templates в SourceCraft.

Чтобы настроить правила ревью кода в репозитории:

  1. Склонируйте репозиторий:

    1. Установите Git.

    2. Откройте главную страницу SourceCraft.

    3. На вкладке Домой перейдите в раздел Репозитории и выберите репозиторий.

    4. В правом верхнем углу нажмите кнопку Клонировать.

    5. В зависимости от способа подключения скопируйте ссылку для клонирования репозитория.

    6. В терминале выполните команду:

      git clone <ссылка_для_клонирования_репозитория>
      
    7. Перейдите в склонированный репозиторий:

      cd <имя_репозитория>
      
  2. Сформируйте файл конфигурации правила ревью кода .sourcecraft/review.yaml, например:

    codereview: 
      need_ships: 1 # Требуемое количество одобрений от ревьюеров
      ignore_self_ship: false # Игнорировать одобрения от автора пул-реквеста
      ignore_non_reviewers_block: false # Игнорировать блокировку пул-реквеста от пользователей, не являющихся ревьюерами
      auto_assign: true # Автоматически назначать ревьюеров
      rules:
        - patterns:
            - '*'
          reviewers:
            usernames: 
              - "<имя_пользователя>" # Список ревьюеров
            assign: 1 # Количество ревьюеров, назначенных автоматически
            need_ships: 1 # Требуемое количество одобрений от ревьюеров
            ignore_self_ship: false # Игнорировать одобрения от автора пул-реквеста
    

    Полную спецификацию файла .sourcecraft/review.yaml см. в репозитории templates в SourceCraft.

  3. В блоке usernames укажите список пользователей, ревью от одного из которых должно быть обязательным в пул-реквесте.

  4. Добавьте файл конфигурации правил ревью кода в индекс git, сделайте коммит и отправьте изменения в ветку main:

    git add .sourcecraft/review.yaml
    git commit -m "Added code review configuration"
    git push -u origin main
    
  5. Проверьте выполнение правил ревью кода:

    1. Создайте тестовый пул-реквест.

    2. В созданном пул-реквесте убедитесь, что:

      • На вкладке Обзор отображается проверка Рецензия кода в статусе In progress.
      • В блоке Рецензенты отображается кто-то из ревьюеров, указанных в конфигурации правил ревью кода.
    3. Дождитесь одобрения пул-реквеста.

    4. Чтобы выполнить слияние с основной веткой, нажмите Объединить.

      Выполнять слияния могут пользователи с ролью Разработчик репозитория и выше.

Важно

Обойти правила ревью кода и выполнить принудительное слияние могут только пользователи с ролью Ответственный за репозиторий или ролью Администратор репозитория.

См. также