Как я могу автоматически изменить Pull-запрос на GitHub? - PullRequest
0 голосов
/ 10 мая 2018

Я бы хотел, чтобы TravisCI или какое-либо другое приложение GitHub автоматически изменяли запросы на получение, основанные на предоставленном мной сценарии. Как я могу это сделать? (Или, может быть, есть лучшее решение, чем то, что я придумал.)

Причина:

Я пытаюсь добавить интеграционное тестирование в проект GitHub, чтобы он автоматически запускал проект и сравнивал результаты с известными хорошими результатами. Если есть разница, он должен сообщить об ошибке.

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

Из-за сложности генерирования выходных данных для каждой возможной комбинации библиотек я подумал, что TravisCI может сгенерировать их и добавить их в запрос на получение от имени автора PR.

Или совсем другое решение для тестирования системы тоже подойдет. Спасибо!

Более конкретный пример:

Я работаю над проектом pcb2gcode . Он преобразует схемы печатных плат (герберы) в инструкции для станка с ЧПУ (g-коды) для фрезерования и сверления платы. В зависимости от версии некоторых библиотек, таких как boost и gerbv , выходные данные могут немного отличаться, но все еще действительны.

Я хочу иметь каталог тестовых герберов, которые автоматически запускаются и сравниваются с ожидаемыми результатами, которые уже зафиксированы в github. Если фактический выходной сигнал соответствует ожидаемому выходному сигналу, тест проходит.

Но ожидаемый результат зависит от библиотек. Одним из решений является получение ожидаемых результатов для разных комбинаций библиотек. Затем выполняется сравнение с правильным набором ожидаемых результатов.

Генерировать эти ожидаемые результаты сложно, потому что разработчикам потребуется запустить код со всеми комбинациями библиотек. TravisCI в любом случае выполняет проверенные и генерирует выходные данные, поэтому он также может записать эти новые ожидаемые результаты в PR. Затем все тесты пройдут, и ожидаемый результат может быть проверен вместе с остальными PR во время проверки кода.

Или какой-нибудь другой лучший метод тестирования системы!

...