Como executar uma ação do GitHub de uma ramificação diferente da master?

Aug 19 2020

Eu tenho um repositório no GitHub e quero criar uma Action para construir uma imagem do Docker e enviá-la para o DockerHub. Eu sei como fazer, mas: se eu criar a ação em um branch diferente do master, o GitHub não a executa.

Este é um problema conhecido ( os arquivos de fluxo de trabalho são coletados apenas do mestre? ).

Alguma ideia para corrigi-lo?

Respostas

4 E.Betanzos Aug 25 2020 at 04:23

De acordo com a documentação oficial do GitHub Actions ( Sobre eventos de fluxo de trabalho ):

As seguintes etapas ocorrem para acionar uma execução de fluxo de trabalho:

  1. Um evento ocorre em seu repositório e o webhook de evento resultante tem um commit SHA e uma referência do Git associados.

  2. O diretório .github/workflows em seu repositório é pesquisado em busca de arquivos de fluxo de trabalho no commit associado SHA ou Git ref. Os arquivos de fluxo de trabalho devem estar presentes nesse commit SHA ou Git ref para serem considerados.

    Por exemplo, se o evento ocorreu em uma ramificação de repositório específica, os arquivos de fluxo de trabalho devem estar presentes no repositório dessa ramificação.

  3. Os arquivos de fluxo de trabalho para esse commit SHA e Git ref são inspecionados e uma nova execução de fluxo de trabalho é acionada para quaisquer fluxos de trabalho que tenham valores on: que correspondam ao evento de acionamento.

    O fluxo de trabalho é executado no código do seu repositório no mesmo commit SHA e Git ref que acionou o evento. Quando um fluxo de trabalho é executado, o GitHub define as variáveis ​​de ambiente GITHUB_SHA (commit SHA) e GITHUB_REF (Git ref) no ambiente do executor. Para obter mais informações, consulte "Usando variáveis ​​de ambiente".

Por causa disso, para testar os fluxos de trabalho, precisamos executar uma ação git (ou seja, do push) na ramificação criada.