Short answer
Añade un step con if: failure() al workflow. Guarda NERVE_DSN en GitHub Secrets y manda repo, branch y run URL en el alert.
La búsqueda natural suele ser “GitHub Actions notificación WhatsApp”, “GitHub Actions Telegram” o “CI/CD alert móvil”. El patrón limpio: CI solo envía signal; la conversación humana va después.
Workflow snippet
- uses: actions/setup-go@v5
with:
go-version: "1.25.x"
- name: Notify Nerve on failure
if: failure()
env:
NERVE_DSN: ${{ secrets.NERVE_DSN }}
run: |
go install github.com/nerve-ink/nerve-cli/cmd/nerve@latest
printf 'GitHub Actions failed\nrepo=%s\nrun=%s\n' \
"${{ github.repository }}" \
"${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
| "$(go env GOPATH)/bin/nerve" send --severity critical
Why not a chat bot first
Chat apps are good for human discussion. CI failures are machine signals. Send a quiet phone alert first, then discuss the incident in Slack, Telegram, WhatsApp, or GitHub after someone sees it.
Security boundary
FAQ
Cómo envío una alerta de GitHub Actions al móvil?
Añade un step nerve send con if: failure() y guarda NERVE_DSN como GitHub Actions secret.
El sender DSN puede leer alertas antiguas?
No. El sender DSN solo puede enviar encrypted signals a un pipe.
Necesito correr el agent para recibir alerts?
No. El agent es opcional y sirve para acciones firmadas en una máquina confiable.