Как запустить действие GitHub из ветки, отличной от главной?

Aug 19 2020

У меня есть репозиторий в GitHub, и я хочу создать действие для создания образа Docker и отправить его в DockerHub. Я знаю, как это сделать, но: если я создаю действие в ветке, отличной от основной, GitHub не запускает его.

Это известная проблема ( файлы рабочего процесса принимаются только от мастера? ).

Есть идеи, как это исправить?

Ответы

4 E.Betanzos Aug 25 2020 at 04:23

Согласно официальной документации GitHub Actions ( О событиях рабочего процесса ):

Для запуска рабочего процесса выполняются следующие шаги:

  1. В вашем репозитории происходит событие, и результирующий веб-перехватчик событий имеет связанный коммит SHA и Git ref.

  2. В каталоге .github / workflows в вашем репозитории выполняется поиск файлов рабочего процесса в соответствующем коммите SHA или Git ref. Файлы рабочего процесса должны присутствовать в этом коммите SHA или Git ref, чтобы они учитывались.

    Например, если событие произошло в определенной ветви репозитория, то файлы рабочего процесса должны присутствовать в репозитории этой ветви.

  3. Файлы рабочего процесса для этой фиксации SHA и Git ref проверяются, и запускается новый запуск рабочего процесса для любых рабочих процессов, которые имеют значения on:, соответствующие инициирующему событию.

    Рабочий процесс выполняется в коде вашего репозитория в том же коммите SHA и Git ref, которые инициировали событие. При запуске рабочего процесса GitHub устанавливает переменные среды GITHUB_SHA (фиксация SHA) и GITHUB_REF (Git ref) в среде бегуна. Для получения дополнительной информации см. «Использование переменных среды».

Из-за этого, чтобы протестировать рабочие процессы, нам нужно выполнить действие git (то есть сделать push) в созданной ветке.