Вы можете заблокировать запросы на вытягивание, которые не соответствуют стандартам качества кода, добавив Code Quality пороговые значения в набор правил. Если запрос на вытягивание не соответствует пороговой значению, его нельзя объединить.
Пороговые значения можно задать для:
- CodeQL результаты, по наименьшей серьезности результатов, которые требуется устранить.
- Покрытие кода по минимальному проценту кода, который должен охватываться тестами.
Эти пороговые значения можно применить на уровне репозитория или на уровне организации , чтобы одновременно применять один и тот же стандарт между многими репозиториями. Выберите уровень организации, когда требуется согласованная панель качества между командами, и уровень репозитория, когда для одного проекта требуется собственный стандарт. Code Quality Обнаружение ИИ не может быть задано как пороговое значение.
Предпосылки
- Включено Code Quality. См. раздел AUTOTITLE
- Код на поддерживаемом языке. Смотрите раздел Поддерживаемые языки.
Примечание.
Пороговое значение будет иметь значение только в том случае, если репозиторий содержит код на одном или нескольких поддерживаемых языках, см. AUTOTITLE.
Code Quality Подтверждение успешного выполнения запросов на вытягивание
Перед добавлением или обновлением набора правил для включения порогового значения Code Qualityубедитесь, что Качество кода рабочий процесс выполняется и сообщает результаты обратно в запросы на вытягивание. В противном случае набор правил может заблокировать слияние всех запросов на вытягивание.
- Откройте недавний запрос на вытягивание и прокрутите до сводки «Проверки» в нижней части запроса на вытягивание.
- Убедитесь, что проверка "CodeQL - Качество кода" успешно выполнена и сообщила о своем состоянии.
Дополнительные сведения см. в разделе Анализ качества кода на основе CodeQL.
Добавление или обновление набора правил для включения Code Quality
Ниже описано, как создать или обновить набор правил на уровне репозитория. Чтобы применить одно и то же пороговое значение для нескольких репозиториев одновременно, создайте набор правил организации с тем же правилом "Требовать результаты качества кода ". См . раздел AUTOTITLE.
- Перейдите на вкладку «Настройки» вашего репозитория.
- В левой боковой панели в разделе "Код и автоматизация" разверните раздел "Правила", а затем щелкните "Наборы правил".
- Если у вас еще нет набора правил для защиты ветви по умолчанию, разверните узел Новый набор правил и нажмите кнопку Новый набор правил ветви. Либо откройте существующий набор правил для ветви по умолчанию и перейдите к шагу 5.
- Если вы создаете новый набор правил:
- Определите имя для набора правил.
- Установите для параметра "Статус принудительного применения" значение "Активно".
- В разделе "Целевые ветви" добавьте цель "Включить ветвь по умолчанию".
- В разделе "Правила ветвей" включите параметр "Требовать результаты качества кода".
- Задайте значение "Серьезность", чтобы определить самую низкую серьезность результатов качества кода, которые должны быть разрешены, прежде чем запрос на вытягивание может быть объединен с ветвью по умолчанию. Рассмотрим пример.
- Установите "Errors", чтобы блокировать запросы pull с неустраненными ошибками качества кода, которые объединяются.
- Установите параметр "Предупреждения и выше", чтобы блокировать запросы на вытягивание с неустраненными предупреждениями о качестве кода или ошибками при объединении.
- Установите "Примечания и выше", чтобы блокировать запросы на вытягивание с неразрешенными замечаниями о качестве кода, предупреждениями или ошибками при объединении.
- Установите "Все", чтобы блокировать запросы на вытягивание с любыми неразрешенными результатами качества кода, которые объединяются.
- После завершения определения или редактирования набора правил нажмите кнопку Создать или Сохранить изменения.
Установка порогового значения покрытия кода
Вы также можете блокировать запросы на вытягивание, которые падают ниже порогового значения покрытия кода. В этом случае используется отдельное правило ограничения покрытия кода , а не правило "Требовать результаты кода", используемое выше, и репозиторий должен сначала отправлять данные покрытия кода. Полная процедура см. в разделе Настройка пороговых значений покрытия кода для запросов на вытягивание.
Дальнейшие шаги
Узнайте, как GitHub Code Quality работают pull requests, чтобы предотвратить попадание проблем с качеством кода на вашу стандартную ветку. См . раздел AUTOTITLE.