BackendBench
Coffee

Home › Convert › GitHub Actions to Apache Airflow

GitHub Actions → Apache Airflow

Convert GitHub Actions cron to Apache Airflow

GitHub Actions expressions look similar to Apache Airflow, but the differences matter. Paste yours below; the result is checked against the original run times.

Result

    What changes from GitHub Actions to Apache Airflow

    Worked examples

    ScheduleGitHub ActionsApache Airflow
    every 5 minutes*/5 * * * **/5 * * * *
    every 10 minutes*/10 * * * **/10 * * * *
    every 15 minutes*/15 * * * **/15 * * * *
    every 30 minutes*/30 * * * **/30 * * * *
    every hour0 * * * *0 * * * *
    every 2 hours0 */2 * * *0 */2 * * *
    every 3 hours0 */3 * * *0 */3 * * *
    every 6 hours0 */6 * * *0 */6 * * *

    Field layout and time zones

    GitHub Actions

    minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-6, 0 = Sunday).

    GitHub Actions schedules are always UTC. Convert your local time to UTC before writing the expression.

    Apache Airflow

    minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, 0 and 7 = Sunday).

    Airflow defaults to UTC. On a time-zone-aware DAG a cron schedule follows wall-clock time, so a daily 00:00 US/Eastern run moves between 04:00 and 05:00 UTC across daylight saving changes.

    Go the other way

    Convert Apache Airflow to GitHub Actions, or open the GitHub Actions builder or the Apache Airflow builder.

    Frequently asked questions

    How do I convert a GitHub Actions cron expression to Apache Airflow?

    Paste it into the converter above with GitHub Actions as the source and Apache Airflow as the target. For example, */5 * * * * becomes */5 * * * *.

    Is every GitHub Actions expression convertible to Apache Airflow?

    Yes for the common schedules we tested (26 of 26), though unusual expressions with special characters might need manual review.

    Does Apache Airflow run in the same time zone as GitHub Actions?

    Not necessarily. Conversion changes the syntax, not the time zone. Check where each system evaluates the schedule before you rely on the same clock times.

    More tools you might need