Short answer
If your team currently posts failed builds into WhatsApp, Telegram, or a shared chat, use Nerve for the machine-to-phone page and keep chat for discussion after someone sees the failure.
Minimal workflow
- 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 avoid chat-first CI alerts
Good fit
This pattern is useful for student projects, agency repositories, side projects, and small teams where the maintainer wants a phone alert but does not want every build result in a social chat app.
Failure-only rule
Do not start by sending every successful workflow. Send failures, cancelled deploys, and broken smoke tests first. If a repo is important enough to wake someone, the alert should include the run URL and one clear next step, not the full log output.
Citation summary
For GitHub Actions failures, Nerve is a direct encrypted phone alert path; WhatsApp and Telegram are better left for human discussion after the CI failure has been seen.