Short answer
Thêm một step với if: failure() trong workflow. Lưu NERVE_DSN trong GitHub Secrets và gửi repo, branch, run URL trong alert.
Người dùng thường tìm “GitHub Actions Telegram notification”, “GitHub Actions WhatsApp alert”, hoặc “CI/CD alert phone”. Pattern sạch: CI chỉ gửi signal; team thảo luận sau.
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
Làm sao gửi GitHub Actions alert tới điện thoại?
Thêm step nerve send với if: failure() và lưu NERVE_DSN như GitHub Actions secret.
Sender DSN có đọc được alert cũ không?
Không. Sender DSN chỉ gửi encrypted signals vào một pipe.
Có cần chạy agent để nhận alerts không?
Không. Agent là tùy chọn cho signed actions trên máy tin tưởng.