Русский

Проверка запросов на включение изменений GitHub с помощью Codex

Проверка запросов на включение изменений GitHub с помощью Codex

Настройте проверку кода с помощью Codex для pull request в GitHub, запрашивайте проверку командой @codex review, включите автоматические проверки и настройте правила проверки.

Используйте проверку кода Codex, чтобы получить дополнительную содержательную проверку запросов на включение изменений GitHub. Codex проверяет различия в запросе на включение изменений, следует рекомендациям вашего репозитория и публикует стандартную проверку кода GitHub, сосредоточенную на серьёзных проблемах. Security Review, доступная в режиме предварительной исследовательской версии, обеспечивает более глубокую проверку потенциальных проблем безопасности в запросе на включение изменений.

Смотреть: обзор проверки кода с помощью Codex

Перед началом работы

Убедитесь, что у вас есть:

  • Настроенный для проверяемого репозитория Codex cloud.
  • Доступ к настройкам проверки кода Codex.
  • Файл AGENTS.md, если вы хотите, чтобы Codex следовал правилам проверки, заданным для конкретного репозитория.

Настройка проверки кода с помощью Codex

Чтобы настроить автоматические проверки, вам потребуется подключённый репозиторий GitHub и разрешение на отправку изменений в GitHub или права администратора для изменения его настроек.

  1. Настройте Codex cloud.
  2. Перейдите в настройки Codex.
  3. Включите Проверку кода для своего репозитория.

Запрос проверки с помощью Codex

  1. Упомяните @codex review в комментарии к запросу на включение изменений.
  2. Подождите, пока Codex отреагирует (👀) и опубликует результаты проверки.

Codex публикует результаты проверки в запросе на включение изменений, как это сделал бы ваш коллега. В GitHub Codex отмечает только проблемы уровней P0 и P1, чтобы комментарии проверки были сосредоточены на рисках с высоким приоритетом.

Включение автоматических проверок

Если вы хотите, чтобы Codex автоматически проверял каждый pull request, включите Автоматические проверки в настройках Codex. Codex будет публиковать результат проверки каждый раз, когда кто-либо открывает новый PR для проверки, без необходимости оставлять комментарий @codex review.

Настройка того, что проверяет Codex

Codex ищет в репозитории файлы AGENTS.md и следует применимым правилам проверки кода. Добавьте раздел ## Code Review Rules в файл, ближайший к коду, на который распространяются правила. Когда это уместно, используйте заголовки ###, чтобы сгруппировать связанные проверки.

Например, сервис формирования отчётов об экспериментах может предотвратить изменение поведения после воздействия для сравнительной когорты:

## Code Review Rules

### Experiment cohorts

- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
  Safe path: build cohorts from assignment or exposure; report conversion as an outcome.

Поместите правила для всего репозитория в корневой файл AGENTS.md, а правила для конкретного сервиса — во вложенный файл, например services/experiment_reporting/AGENTS.md. Codex применяет корневые и более конкретные правила, относящиеся к каждому изменённому файлу, поэтому для несвязанных изменений не требуется контекст конкретного сервиса.

Начните с двух или трёх кратких правил, описывающих проверки, которые часто поясняют рецензенты. Полезные правила:

  • Сосредоточьтесь на существенном поведении, характерном для репозитория. Опишите ограничение совместимости, границу данных или небезопасный побочный эффект, который следует отмечать, а также объясните, почему это важно.
  • Укажите безопасный вариант или исключение. Предоставьте Codex достаточно контекста, чтобы отличить реальную проблему от ожидаемого поведения.
  • Делайте правила узкими по области применения и устойчивыми. Описывайте ожидаемые результаты, а не имена функций, которые могут измениться, и размещайте правила рядом с кодом, к которому они относятся.
  • Оставьте механические проверки для CI. Не включайте форматирование, линтинг и другие детерминированные проверки в правила проверки кода.

Откройте репрезентативный pull request и запросите проверку с помощью @codex review. Уточняйте правила на основе выявленных проблем и полученной обратной связи, а также сужайте или удаляйте правила, создающие лишний шум.

Правила проверки кода направляют Codex, но не заменяют тесты, защиту ветвей или обязательные подтверждения.

Чтобы однократно сосредоточить проверку на определённом аспекте, укажите его в комментарии к pull request:

@codex review for issues in the database migration

Security Review

Security Review — это дополнительная проверка для клиентов, которые хотят уделить особое внимание проблемам безопасности в запросах на включение изменений. Она глубже, чем Code Review, анализирует риски, связанные с безопасностью, включая различия в запросе на включение изменений, дополнительный контекст репозитория и настроенные модели угроз или рекомендации по безопасности.

Code Review также может выявлять проблемы безопасности в рамках общей проверки, поэтому некоторые результаты Code Review и Security Review могут иногда совпадать.

Настройка Security Review

Более подробные инструкции по настройке и доступные параметры см. в разделе Security Review.

  1. Настройте облачную среду Codex.
  2. Перейдите в настройки Codex.
  3. В разделе Настройки репозитория выберите, какие запросы на включение изменений должны проходить Security Review и когда она должна запускаться. Выберите При каждом запуске проверки кода, чтобы запускать её вместе с Code Review.

Запрос Security Review

Чтобы вручную запросить Security Review, добавьте этот комментарий к запросу на включение изменений:

@codex security review

Во время выполнения проверки Codex оставляет реакцию, а затем публикует сведения о найденных проблемах безопасности непосредственно в запросе на включение изменений. Откройте связанную задачу Codex и выберите вкладку Отчёт о безопасности, чтобы просмотреть полный отчёт.

Работа с результатами проверки

После того как Codex опубликует результат проверки, вы можете попросить его исправить проблемы в том же pull request, оставив ещё один комментарий:

@codex fix the P1 issue

Codex запускает облачный чат, используя pull request в качестве контекста, и может отправить исправление обратно в ветвь, если у него есть соответствующее разрешение.

Другие задачи для Codex

Если вы упомянете @codex в комментарии с чем-либо, кроме review, Codex запустит облачный чат, используя ваш pull request в качестве контекста.

@codex fix the CI failures

Устранение неполадок при проверке кода

Если Codex не реагирует или не публикует результат проверки:

  • Убедитесь, что в настройках Codex для репозитория включена Проверка кода.
  • Убедитесь, что pull request относится к репозиторию с настроенным Codex cloud.
  • Используйте точный триггер @codex review в комментарии к pull request.
  • Для автоматических проверок убедитесь, что вы включили Автоматические проверки и что событие pull request соответствует настройкам триггера проверки.