Detectar un push en cualquier rama de funcionalidad y validar en el mensaje de commit una palabra clave para identificar que la funcionalidad ha sido terminada y puede integrarse a desarrollo. Esta estrategia implica tres pasos:
Detectar un push a desarrollo y validar en el mensaje de commit una palabra clave para identificar si se va a crear la rama release. Si se detecta la palabra clave en el commit se crea la rama release, se mezcla la rama de desarrollo en la rama release y se corren las pruebas. Si las pruebas pasan se mezcla la rama release en la rama master, de lo contrario se cierra la acción.
**historia**
) puede incluir en la definición de ramas del flujo historia**
:
on: push: branches: - 'historia**'
contanis
:
if: ${{ contains(github.event.head_commit.message, 'PALABRACLAVE') }}
github.ref
:
${{ github.ref }}
- name: Mezcla rama1 -> rama2 uses: tukasz/direct-merge-action@master with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} source-branch: rama1 target-branch: rama2
- name: Crear rama run: | git checkout -b rama git push -f -u origin rama
Esta instrucción ejecuta dos comandos git, uno para crear la rama en el contenedor del action y otro para sobreescribirla con el repositorio remoto. -f
es la abreviación de --force
y -u
es la abreviación de --set-upstream
.
En este enlace pueden encontrar la documentación oficial sobre la sintaxis de GitHub Actions: https://docs.github.com/es/actions/using-workflows/workflow-syntax-for-github-actions