Выполните действие Github при попытке объединить ветку - PullRequest
2 голосов
/ 11 июля 2020

Я настраиваю действия Github для нескольких своих проектов. Я бы хотел добиться следующего:

  1. Разработчик нажимает кнопку «Merge pull request»
  2. Будет запущен рабочий процесс тестирования действий Github
  3. Если тесты пройдены - выполняется слияние

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

Мой вопрос: Есть ли способ вручную выполнить рабочий процесс только при попытке / желании слиться и убедиться, что ветка может быть объединен в мастер тогда и только тогда, когда тесты прошли?

1 Ответ

0 голосов
/ 13 июля 2020

К сожалению, в событии pull request (пока) нет типов активности merged или merge_attempt. Даже если бы это было, я не верю, что у GitHub есть способ блокировать слияния по завершении рабочего процесса (пока).

В качестве обходного пути я бы посоветовал запустить тест 1. после факт при отправке в ветку master и 2. на событиях pull_request с определенными типами действий, которые указывают на то, что пользователь, скорее всего, скоро попытается выполнить слияние. Например, ready_for_review или review_requested.

Примерно так:

name: tests
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
    types: 
      - ready_for_review
      - review_requested
...