GitHub Actions — алерт когда scheduled-workflow не запустился
Cron-workflow на `schedule:` иногда тихо отключается (форкнутые репо, истёкший token, GH outage). Узнаёшь через неделю по пропавшим backup'ам.
Рецепт
# .github/workflows/nightly-backup.yml
name: nightly-backup
on:
schedule:
- cron: '0 3 * * *' # 03:00 UTC daily
workflow_dispatch:
jobs:
backup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run backup
run: ./scripts/backup.sh
- name: Heartbeat ping (only on success)
if: success()
run: curl -fsS "$ENTERNO_HEARTBEAT_URL"
env:
ENTERNO_HEARTBEAT_URL: ${{ secrets.ENTERNO_HEARTBEAT_URL }}
То же самое в Enterno.io
Создайте dead-man's-switch в Enterno Heartbeat с интервалом 24h + grace 2h, скопируйте URL в `ENTERNO_HEARTBEAT_URL` secret. Если workflow пропустил schedule — heartbeat алертит сам.
Похожие рецепты
Ваш cron стал молча не запускаться. Нужен алерт, если скрипт пропустил окно выполнения.
Контейнер падает по OOM, restart-политика поднимает его обратно — наружу никаких сигналов, пока пользователи не пожаловались.
Логи или backup-файлы съедают /var; через 24 часа сервер ляжет. Базовый df-чек один раз в 10 минут спасает от 2 АМ инцидента.