Запускайте рабочий процесс только в том случае, если он исходит из определенной ветки

Учитывая следующие отрасли:

  • основной
  • Feature_1
  • Feature_important_1
  • Feature_2
  • Feature_3
  • Feature_important_2
  • Feature_4

Чтобы запустить конвейеры от любой ветки к веткам с именем *_important_*, мы можем использовать:

name: "some_name"
on:
  pull_request:
    branches: 
      - '*_important_*'

Но я хочу запускать триггеры только для ветвей с именем *important*, которые переходят в main, как я могу фильтровать имя ветки «источник» в запросе на включение? например

name: "some_name"
on:
  pull_request:
    branches: 
      - 'main'
    source_branches: # THIS PART  IS MADE UP
      - '*_important_*'

88
1

Ответ:

Решено

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

Это значит, что исходя из ваших ограничений, так и будет start, возможно, это загрязнение, о котором вы упомянули.

Конечно, это может быть skipped через если и контекст. И обратите внимание, что это может быть только skipped.

jobs:
  specific-branch:
    if: github.head_ref == 'test'

Интересные вопросы для изучения

Git безопасно восстановить старый коммит и вернуться к последнемуУ меня есть дублированные коммиты после запроса на включение. Как мне от этого избавиться?Попытка отправки в удаленный репозиторий, разрешение отклонено и получена ошибка 403Git извлекает запросы на извлечение только после заданногоПовлияет ли удаление определенных коммитов из ветки на исходную ветку, из которой они были созданы?Развертывание функции Azure с помощью действий Github завершается неудачей без указания четкой причиныClang-tidy пытается проанализировать файл сборки STM32, расположенный в compile_commands.jsonОтдельное действие в action.yml в папке действий не вызывается в файле рабочего процессаПовлияет ли удаление определенных коммитов из ветки на исходную ветку, из которой они были созданы?Почему происходит сбой второго рабочего процесса действий Github (вызываемого через «workflow_call»)?