DevOps31 janvier 2026 8 min de lecture

Surveiller la Complétion des Workflows GitHub Actions

Configurez le monitoring pour les workflows GitHub Actions planifiés. Recevez des alertes quand vos pipelines CI/CD et workflows automatisés échouent.

WizStatus Team
Auteur

GitHub Actions peut s'exécuter sur des plannings en utilisant la syntaxe cron. Mais les workflows planifiés peuvent échouer silencieusement sans notification. Voici comment monitorer vos workflows GitHub Actions et être alerté quand ils ne se terminent pas.

GitHub Actions Planifiées

Les workflows peuvent être déclenchés sur un planning :

name: Sync Données Quotidien
on:
  schedule:
    - cron: '0 2 * * *'  # Quotidien à 2h UTC

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./sync-data.sh

Pourquoi Monitorer GitHub Actions ?

Les workflows planifiés peuvent échouer car :

  • Problèmes d'accès au repo - Token expiré, permissions changées
  • Runner indisponible - Pannes GitHub, limites de ressources
  • Erreurs de workflow - Erreurs de syntaxe, étapes échouées
  • Planning non déclenché - GitHub saute parfois les plannings
  • Échecs silencieux - Le job échoue mais personne ne le remarque

Méthode 1 : Ping en Étape Finale

Ajoutez une étape de ping à la fin de votre workflow :

name: Sauvegarde Quotidienne
on:
  schedule:
    - cron: '0 2 * * *'

jobs:
  backup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Exécuter sauvegarde
        run: ./backup.sh

      - name: Notifier monitoring
        if: success()
        run: curl -fsS https://wizstatus.com/ping/${{ secrets.PING_TOKEN }}

Le if: success() assure que le ping ne s'exécute que si toutes les étapes précédentes réussissent.

Méthode 2 : Étape de Monitoring Dédiée

Plus explicite et lisible :

jobs:
  backup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Exécuter sauvegarde
        run: ./backup.sh

  notify:
    needs: backup
    runs-on: ubuntu-latest
    if: success()
    steps:
      - name: Ping monitoring
        run: |
          curl -fsS --retry 3 \
            "https://wizstatus.com/ping/${{ secrets.PING_TOKEN }}"

Configurer les Secrets

Stockez les URLs de ping de façon sécurisée :

  1. Allez dans Settings du repo → Secrets and variables → Actions
  2. Ajoutez un nouveau secret : PING_TOKEN ou PING_URL
  3. Référencez dans le workflow : ${{ secrets.PING_TOKEN }}

Configurer les Moniteurs Heartbeat

Pour chaque workflow planifié :

Exemple : Sauvegarde Quotidienne à 2h UTC

  • Nom du moniteur : GitHub Actions - Sauvegarde Quotidienne
  • Planning : Quotidien à 02:00 UTC
  • Période de grâce : 30-60 minutes (pour les délais de queue)

Exemple : Sync Horaire

  • Nom du moniteur : GitHub Actions - Sync Horaire
  • Planning : Chaque heure
  • Période de grâce : 20 minutes

Bonnes Pratiques

  1. Utilisez les secrets - Ne codez jamais en dur les URLs de ping
  2. Réessayez les pings - Les problèmes réseau arrivent
  3. Correspondez les fuseaux - GitHub utilise UTC
  4. Définissez des périodes de grâce généreuses - Comptez les délais de queue GitHub
  5. Monitorez workflow_dispatch aussi - Si les workflows déclenchés manuellement sont critiques
  6. Gardez les workflows actifs - Poussez occasionnellement pour éviter la désactivation

Exemple : Workflow Monitoré Complet

name: Pipeline ETL Quotidien

on:
  schedule:
    - cron: '0 4 * * *'  # 4h UTC quotidien
  workflow_dispatch:  # Permet déclenchement manuel

env:
  PING_URL: https://wizstatus.com/ping

jobs:
  extract:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Extraire données
        run: ./extract.sh

  transform:
    needs: extract
    runs-on: ubuntu-latest
    steps:
      - name: Transformer données
        run: ./transform.sh

  load:
    needs: transform
    runs-on: ubuntu-latest
    steps:
      - name: Charger données
        run: ./load.sh

  notify:
    needs: [extract, transform, load]
    runs-on: ubuntu-latest
    if: success()
    steps:
      - name: Notifier pipeline terminé
        run: |
          curl -fsS --retry 3 \
            "${{ env.PING_URL }}/${{ secrets.PING_ETL }}"
Monitorez toutes vos GitHub Actions planifiées avec le monitoring heartbeat. Recevez des alertes quand les workflows ne se terminent pas dans le délai prévu.

Articles connexes

Comment Monitorer vos Sauvegardes et Recevoir des Alertes
Bonnes Pratiques

Comment Monitorer vos Sauvegardes et Recevoir des Alertes

Configurez un monitoring fiable pour vos sauvegardes de bases de données et fichiers. Recevez des alertes instantanées quand les jobs de sauvegarde échouent.
10 min de lecture
Comment Monitorer vos Tâches Cron : Guide Étape par Étape
Tutoriels

Comment Monitorer vos Tâches Cron : Guide Étape par Étape

Apprenez à configurer le monitoring pour vos tâches cron. Recevez des alertes quand les tâches planifiées échouent, durent trop longtemps ou ne s'exécutent pas.
10 min de lecture
Dead Man's Switch : Assurez que vos Jobs Critiques n'Échouent Jamais en Silence
Monitoring

Dead Man's Switch : Assurez que vos Jobs Critiques n'Échouent Jamais en Silence

Comprenez le monitoring dead man's switch pour les systèmes critiques. Apprenez à implémenter des alertes fail-safe pour les jobs qui doivent fonctionner de façon fiable.
9 min de lecture

Commencez à surveiller votre infrastructure dès aujourd'hui

Mettez ces conseils en pratique avec le monitoring WizStatus.

Essayer WizStatus Gratuitement