Se debe agregar el flujo gate.yml para validar que se ejecute las pruebas y el análisis. Luego de eso podremos ejecutar el despliegue.
Ejemplo de flujo:
name: Gate
on:
workflow_run:
workflows:
- "Análisis"
- "Pruebas"
branches: [dev]
types: [completed]
jobs:
verificar:
runs-on: ubuntu-latest
steps:
- name: 🔍 Verificar workflows requeridos via API
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
SHA: ${{ github.event.workflow_run.head_sha }}
run: |
check_workflow() {
local workflow_name="$1"
local conclusion=$(gh run list \
--repo "$REPO" \
--commit "$SHA" \
--workflow "$workflow_name" \
--limit 1 \
--json conclusion \
--jq '.[0].conclusion')
echo "$workflow_name → $conclusion"
if [ "$conclusion" != "success" ]; then
echo "❌ '$workflow_name' no pasó (conclusion: $conclusion)"
exit 1
fi
}
check_workflow "Análisis"
check_workflow "Pruebas"
echo "✅ Todos los checks pasaron"
Se debe agregar el flujo
gate.ymlpara validar que se ejecute las pruebas y el análisis. Luego de eso podremos ejecutar el despliegue.Ejemplo de flujo: