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