Saltar al contenido
CronExplain

Explicador de cron de GitHub Actions

GitHub Actions inicia flujos de trabajo programados con cron estándar de cinco campos en el disparador on.schedule. Pega tu cadena cron para ver qué significa y cuándo se ejecutará en UTC.

Qué significa

GitHub Actions: cinco campos estándar, siempre en UTC y como mucho cada 5 minutos; las ejecuciones pueden retrasarse si GitHub está saturado.

✓ Válida · Qué significa

A las 05:30, de lunes a viernes

Ajustes rápidos

Próximas 10 ejecuciones

#En UTCTu hora local
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

La misma programación en otros dialectos

  • crontab estándar30 5 * * 1-5
  • Quartz0 30 5 ? * MON-FRI
  • AWS EventBridgecron(30 5 ? * MON-FRI *)Las reglas de EventBridge usan UTC.
  • Spring0 30 5 * * MON-FRI

Constructor visual

Elige valores para cada campo. El constructor genera una expresión estándar de cinco campos que se convierte al dialecto seleccionado al usarla.

Minuto
Hora
Día del mes
Mes
Día de la semana
0 9 * * 1-5

Usar cron en un flujo de trabajo

Añade un disparador programado a tu archivo de flujo: on: schedule: - cron: '30 5 * * 1-5'. La expresión usa los cinco campos habituales (minuto, hora, día del mes, mes y día de la semana) y debe ir entre comillas en YAML porque * es un carácter especial. Puedes listar varias entradas cron y github.event.schedule indica cuál se disparó.

UTC y el límite de 5 minutos

Las programaciones se evalúan siempre en UTC, así que 0 9 * * * se ejecuta a las 09:00 UTC, no en tu hora local; usa la columna de hora local de la herramienta para traducirla. El intervalo más corto que admite GitHub es de cinco minutos. Las macros como @daily no están soportadas, así que escribe los campos.

Retrasos y repositorios inactivos

Las ejecuciones programadas pueden empezar tarde en momentos de alta carga, sobre todo a las horas en punto, así que elige un minuto impar como 17 en lugar de 0 si la hora exacta no es crítica. En repositorios públicos, los flujos programados se desactivan automáticamente tras 60 días sin actividad.

Probar flujos programados

Añade workflow_dispatch junto a schedule para poder lanzar el flujo a mano mientras lo pruebas. Recuerda que las programaciones solo se ejecutan desde la rama predeterminada, así que un cambio de cron en una rama de funcionalidad no tiene efecto hasta fusionarse. Un grupo de concurrency evita que una ejecución lenta se solape con la siguiente.

Preguntas frecuentes

¿Qué zona horaria usa el cron de GitHub Actions?
Siempre UTC. No se puede cambiar, así que convierte tu hora local a UTC al escribir la expresión.
¿Puede un flujo ejecutarse cada minuto?
No. El intervalo mínimo es de cinco minutos; las programaciones más frecuentes se ejecutan como mucho cada cinco minutos.
¿Por qué mi flujo programado no se ejecutó a tiempo?
Los trabajos programados se encolan y pueden retrasarse con carga alta, y solo se ejecutan en la rama predeterminada. Los flujos de repositorios públicos inactivos también se pausan.
¿Puedo usar @daily en GitHub Actions?
No. Usa los cinco campos equivalentes, por ejemplo 0 0 * * *.