Есть ли способ заставить 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 достаточно умны, чтобы не вызывать пересоздание уже созданного коммита.

Другие вопросы по тегам