¿Cómo ejecutar una acción de GitHub desde una rama que no sea maestra?

Aug 19 2020

Tengo un repositorio en GitHub y quiero crear una acción para crear una imagen de Docker y enviarla a DockerHub. Sé cómo hacerlo pero: si creo la acción en una rama que no sea maestra, GitHub no la ejecuta.

Este es un problema conocido ( ¿los archivos de flujo de trabajo solo se recogieron del maestro? ).

¿Alguna idea para arreglarlo?

Respuestas

4 E.Betanzos Aug 25 2020 at 04:23

De acuerdo con la documentación oficial de GitHub Actions ( Acerca de los eventos de flujo de trabajo ):

Los siguientes pasos ocurren para desencadenar una ejecución de flujo de trabajo:

  1. Se produce un evento en su repositorio, y el webhook de evento resultante tiene una confirmación SHA y una referencia de Git asociadas.

  2. Se buscan archivos de flujo de trabajo en el directorio .github/workflows de su repositorio en la confirmación SHA o Git ref asociada. Los archivos de flujo de trabajo deben estar presentes en esa confirmación SHA o Git ref para ser considerados.

    Por ejemplo, si el evento ocurrió en una rama del repositorio en particular, los archivos de flujo de trabajo deben estar presentes en el repositorio de esa rama.

  3. Se inspeccionan los archivos de flujo de trabajo para esa confirmación SHA y Git ref, y se activa una nueva ejecución de flujo de trabajo para cualquier flujo de trabajo que tenga valores que coincidan con el evento de activación.

    El flujo de trabajo se ejecuta en el código de su repositorio en la misma confirmación SHA y Git ref que activó el evento. Cuando se ejecuta un flujo de trabajo, GitHub establece las variables de entorno GITHUB_SHA (commit SHA) y GITHUB_REF (Git ref) en el entorno del ejecutor. Para obtener más información, consulte "Uso de variables de entorno".

Debido a esto, para probar los flujos de trabajo, necesitamos realizar una acción de git (es decir, hacer push) en la rama creada.