Есть ли способ заставить GitHub CI создать тестовое слияние PR, а не руководителя PR-ветви?
Когда я создаю PR, GitHub CI (через actions/checkout
действие) проверяет руководитель отдела по связям с общественностью. Например, если руководитель отдела по связям с общественностью имеет SHA cc87b2733dfbe579a4451b2359191a6c512207c3
Я вижу это в журнале GitHub CI:
git checkout --progress --force cc87b2733dfbe579a4451b2359191a6c512207c3
Принимая во внимание, что другие системы CI проверяют слияние теста PR. Например, если номер PR 123, в журнале Travis CI я вижу:
git fetch origin +refs/pull/123/merge
git checkout -qf FETCH_HEAD
И в журнале Appveyor я вижу:
git fetch -q origin +refs/pull/123/merge
git checkout -qf FETCH_HEAD
Есть ли способ заставить GitHub CI создать тестовое слияние PR, а не руководителя PR-ветви?
1 ответ
Согласно https://github.com/actions/checkout/issues/15:
Документы GitHub вводят в заблуждение:
Если вы собираетесь использовать
pull_request
событие для запуска тестов CI, мы рекомендуем вам настроить конфигурацию рабочего процесса для прослушиванияpush
мероприятие.
Я обнаружил, что следующее работает именно так, как я хочу:
on:
push:
- master
- release-*
pull_request:
Я был обеспокоен тем, что я получу слишком много сборок, запущенных с использованием pull_request
событие, так как согласно документам:
Срабатывает, когда запрос извлечения назначен, неназначен, помечен, немаркирован, открыт, отредактирован, закрыт, повторно открыт, синхронизирован, ready_for_review, заблокирован, разблокирован или когда запрос на извлечение запроса запрошен или удален.
Но кажется, что действия GH достаточно умны, чтобы не вызывать пересоздание уже созданного коммита.