Документация

Настройка сборки и тестирования

Инструкции для Coroid по сборке и тестированию вашего проекта, а также почему правильная настройка этих процессов важнее всего остального.

Если агент не может собрать и протестировать ваш проект, он не сможет подтвердить корректность своей работы. Все последующие этапы — проверка качества, рецензирование, доверие к созданному pull request — зависят от правильности этих команд.

Coroid определяет их при создании проекта. Проверьте, что было найдено.

Что нужно Coroid

КомандаНазначение
УстановкаВосстановление зависимостей в чистой рабочей области
СборкаПодтверждение компиляции проекта
ТестированиеЗапуск тестового набора и чтение результатов

Рабочая область очищается и создается заново для каждой задачи, поэтому каждая команда должна работать в свежем клоне без кэша и предустановленных элементов.

Где чаще всего возникают ошибки при определении параметров

Монорепозитории. Команды находятся в поддиректории или требуют фильтрации рабочей области. Команда уровня корня может существовать, но выполнять неверные действия.

Этапы настройки. Тестовые наборы, требующие генерации кода, миграции или предварительной сборки фикстур перед запуском. Система обнаружения видит команду тестирования, но упускает её предварительные условия.

Зависимости от сторонних сервисов. Тесты, которым нужны запущенные база данных, кэш или очередь сообщений. Если ваш набор тестов предполагает, что localhost:5432 уже запущен, он завершится ошибкой в чистой рабочей области.

Переменные окружения. Тестовые наборы, считывающие конфигурацию из .env которая отсутствует в репозитории.

Признаки неправильной настройки

Ошибки возникают во время проверки задач по причинам, не связанным с внесёнными изменениями — одна и та же ошибка на всех задачах, на одном и том же этапе, независимо от запроса.

Если первая ошибка появляется до написания кода, это почти всегда связано с командой сборки. Если ошибка возникает после внесения изменений, чаще всего проблема в команде тестирования или в зависимостях тестов.

Контейнеры

Если проект можно упаковать в контейнер, Coroid может использовать его в качестве среды выполнения — это решает проблемы с зависимостями и расхождениями в окружении одним действием, так как контейнер уже содержит всё необходимое.

Если у вас есть рабочий Dockerfile или файл Compose, позволяющий запускать тесты, это, как правило, самая надёжная доступная вам настройка.

Поддержка языков

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

Правильная настройка этих команд важнее, чем используемый язык. Корректная пара команда сборки и тестирования для слабо поддерживаемого языка лучше, чем неправильная пара для хорошо поддерживаемого языка.