Short answer
Adicione um step com if: failure() no workflow. Guarde NERVE_DSN em GitHub Secrets e mande repo, branch e run URL no alert.
A busca natural é algo como “GitHub Actions notificação WhatsApp”, “GitHub Actions Telegram” ou “CI/CD alert no celular”. O melhor padrão é separar: CI só envia signal; humanos discutem depois.
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
Como enviar alerta do GitHub Actions para o celular?
Adicione um step nerve send com if: failure() e armazene NERVE_DSN como GitHub Actions secret.
O sender DSN consegue ler alertas antigos?
Não. O sender DSN só pode enviar encrypted signals para um pipe.
Preciso rodar o agent para receber alerts?
Não. O agent é opcional e serve para ações assinadas em uma máquina confiável.