Действия Github. Создайте запрос на извлечение к базовому репо, когда в разветвленном репо происходит pr. - PullRequest
0 голосов
/ 22 января 2020

Я борюсь с перенаправлением пиара, сделанного для разветвленного репо, в базовое репо.

Допустим,

У меня есть базовое репо с именем Base, которое частный и включает в себя некоторые юнит-тесты. Затем я создаю разветвленное репо из Base с именем Forked, которое публикуется c. После этого я сделал новый коммит в репо Base, добавив некоторые частные юнит-тесты.

Если человек открывает пиар в репо Forked, я могу сообщить репо Base с помощью помощь события repository_dispatch. Для получения информации об этих процессах, пожалуйста, посмотрите здесь .

Но я не могу создать автоматический PR для репо Base, чтобы запустить частные тесты модулей.

Я хочу запустить частные юнит-тесты против PR, который сделан для Forked репо, и я не хочу показывать приватные юнит-тесты.

Я застрял здесь, провел так много исследований, но не могу даже близко И я использую JavaCI.

1 Ответ

0 голосов
/ 28 января 2020

Возможно, стоит еще раз взглянуть на то, как организован ваш код. Я бы рекомендовал полностью отделить ваши частные тесты от вашего publi c code . Это упростит некоторые вещи и поможет избежать конфликтов слияния в будущем.

Я имею в виду пару решений, но они могут потребовать от вас создания собственных действий с нуля. (Я не имел дело с событием отправки раньше, поэтому вам, возможно, придется немного подправить мои объяснения, чтобы работать с ним.) Надеюсь, он поможет вам указать правильное направление!

С вашим кодом publi c, вы можете настроить действие в вашем личном репозитории, чтобы клонировать код publi c из запроса на извлечение , настроить тестовую среду и запустить частные тесты. Однако это будет держать ваши тесты и статус тестов закрытыми, поэтому это может быть не так уж и полезно.

В качестве альтернативы, вы можете использовать секреты для хранения учетных данных для вашего частного репозитория и настройки действие, чтобы клонировать ваши частные тесты, настроить тестовую среду и запустить частные (и публичные c?) тесты. Несмотря на то, что это сделало бы тест status publi c, оно может сохранить тесты закрытыми. Однако вам нужно позаботиться о том, чтобы не пропустить вывод тестов (например, имена тестов, исключения и другие выходные данные), в противном случае некоторые данные могут стать опубликованными c. Настройка одного действия для тестов publi c и другого для частного может иметь больше смысла в зависимости от того, как настроены ваши тесты, так как вы можете перенаправить all output на /dev/null или эквивалентный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...