Как запустить действие GitHub из ветки, отличной от главной?
У меня есть репозиторий в GitHub, и я хочу создать действие для создания образа Docker и отправить его в DockerHub. Я знаю, как это сделать, но: если я создаю действие в ветке, отличной от основной, GitHub не запускает его.
Это известная проблема ( файлы рабочего процесса принимаются только от мастера? ).
Есть идеи, как это исправить?
Ответы
Согласно официальной документации GitHub Actions ( О событиях рабочего процесса ):
Для запуска рабочего процесса выполняются следующие шаги:
В вашем репозитории происходит событие, и результирующий веб-перехватчик событий имеет связанный коммит SHA и Git ref.
В каталоге .github / workflows в вашем репозитории выполняется поиск файлов рабочего процесса в соответствующем коммите SHA или Git ref. Файлы рабочего процесса должны присутствовать в этом коммите SHA или Git ref, чтобы они учитывались.
Например, если событие произошло в определенной ветви репозитория, то файлы рабочего процесса должны присутствовать в репозитории этой ветви.Файлы рабочего процесса для этой фиксации SHA и Git ref проверяются, и запускается новый запуск рабочего процесса для любых рабочих процессов, которые имеют значения on:, соответствующие инициирующему событию.
Рабочий процесс выполняется в коде вашего репозитория в том же коммите SHA и Git ref, которые инициировали событие. При запуске рабочего процесса GitHub устанавливает переменные среды GITHUB_SHA (фиксация SHA) и GITHUB_REF (Git ref) в среде бегуна. Для получения дополнительной информации см. «Использование переменных среды».
Из-за этого, чтобы протестировать рабочие процессы, нам нужно выполнить действие git (то есть сделать push
) в созданной ветке.