Aller au contenu
CronExplain

Explicateur cron pour GitHub Actions

GitHub Actions lance des workflows planifiés avec un cron standard à cinq champs dans le déclencheur on.schedule. Collez votre chaîne cron pour voir ce qu’elle signifie et quand elle s’exécutera en UTC.

Signification

GitHub Actions : cinq champs standard, toujours en UTC, au plus toutes les 5 minutes ; les exécutions peuvent être retardées en cas de forte charge.

✓ Valide · Signification

À 05:30, de lundi à vendredi

Préréglages

10 prochaines exécutions

#En UTCVotre heure locale
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

La même planification dans d’autres dialectes

  • crontab standard30 5 * * 1-5
  • Quartz0 30 5 ? * MON-FRI
  • AWS EventBridgecron(30 5 ? * MON-FRI *)Les règles EventBridge utilisent l’UTC.
  • Spring0 30 5 * * MON-FRI

Générateur visuel

Choisissez des valeurs pour chaque champ. Le générateur produit une expression standard à cinq champs, convertie dans le dialecte choisi lorsque vous l’utilisez.

Minute
Heure
Jour du mois
Mois
Jour de la semaine
0 9 * * 1-5

Utiliser cron dans un workflow

Ajoutez un déclencheur planifié à votre fichier de workflow : on: schedule: - cron: '30 5 * * 1-5'. L’expression utilise les cinq champs habituels (minute, heure, jour du mois, mois, jour de la semaine) et doit être entre guillemets en YAML, car * est un caractère spécial. Vous pouvez lister plusieurs entrées cron ; github.event.schedule indique laquelle s’est déclenchée.

UTC et la limite de 5 minutes

Les planifications sont toujours évaluées en UTC : 0 9 * * * s’exécute à 09:00 UTC, pas à votre heure locale ; servez-vous de la colonne heure locale de l’outil pour convertir. L’intervalle le plus court accepté par GitHub est de cinq minutes. Les macros comme @daily ne sont pas prises en charge : écrivez les champs.

Retards et dépôts inactifs

Les exécutions planifiées peuvent démarrer en retard en période de forte charge, surtout à l’heure pile : choisissez une minute impaire comme 17 plutôt que 0 si l’heure exacte n’est pas critique. Dans les dépôts publics, les workflows planifiés sont désactivés automatiquement après 60 jours sans activité.

Tester les workflows planifiés

Ajoutez workflow_dispatch à côté de schedule pour pouvoir lancer le workflow à la main pendant vos tests. Les planifications ne s’exécutent que depuis la branche par défaut : modifier le cron sur une branche de fonctionnalité n’a aucun effet avant la fusion. Un groupe concurrency empêche une exécution lente de chevaucher la suivante.

Questions fréquentes

Quel fuseau horaire utilise le cron de GitHub Actions ?
Toujours l’UTC. Ce n’est pas modifiable : convertissez votre heure locale en UTC en écrivant l’expression.
Un workflow peut-il s’exécuter chaque minute ?
Non. L’intervalle minimal est de cinq minutes ; les planifications plus fréquentes s’exécutent au plus toutes les cinq minutes.
Pourquoi mon workflow planifié n’a-t-il pas démarré à l’heure ?
Les tâches planifiées sont mises en file d’attente et peuvent être retardées en cas de charge, et elles ne s’exécutent que sur la branche par défaut. Les workflows des dépôts publics inactifs sont aussi suspendus.
Puis-je utiliser @daily dans GitHub Actions ?
Non. Utilisez les cinq champs équivalents, par exemple 0 0 * * *.