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

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

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

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

Важно

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

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

  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 # Игнорировать одобрения от автора предложения изменений
    
  3. В блоке patterns укажите пути в репозитории, по которым будут срабатывать правила ревью кода, например:

    • "**" — применять правило для всего репозитория.
    • "src/**" — применять правило только для директории src.
    • "!docs/**" — не применять правило для директории docs.

    Вы можете последовательно использовать несколько паттернов, например:

    - patterns:
      - "**"
      - "!docs/**"
    

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

    Совет

    При последовательном применении паттернов выставляйте паттерн "**" самым первым.

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

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

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

    1. Создайте тестовое предложение изменений.

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

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

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

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

Важно

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

См. также