Scheduled Builds

Build schedules automatically create builds at specified intervals. For example, you can use scheduled builds to run nightly builds, hourly integration tests, or daily ops tasks.

You can create and manage schedules by going to a pipeline’s Pipeline SettingsSchedules, or using the Buildkite GraphQL API.

Schedule intervals

The interval defines when the schedule will create builds. Schedules run in UTC time by default, and can be defined using either predefined intervals or standard crontab time syntax.

Buildkite doesn't support intervals less than 10 minutes.

Predefined intervals

Buildkite supports 5 predefined intervals:

IntervalDescriptionCrontab Equivalent
@hourlyAt the start of every hour0 * * * *
@daily or @midnightEvery day at midnight UTC0 0 * * *
@weeklyEvery week at midnight Sunday UTC0 0 * * 0
@monthlyEvery month, at midnight UTC on the first day0 0 1 * *

Crontab time syntax

Intervals can also be defined using a variant of the crontab time syntax:

 ┌───────────── minute (0 - 59)
 │ ┌───────────── hour (0 - 23)
 │ │ ┌───────────── day of month (1 - 31)
 │ │ │ ┌───────────── month (1 - 12)
 │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday)
 │ │ │ │ │          ┌─── time zone name or offset (optional)
 │ │ │ │ │          │
 * * * * * Australia/Melbourne

A time zone may optionally be specified as the last segment, either as an IANA Time Zone name like Australia/Melbourne or Europe/Berlin, or as an offset from UTC like +09:00 or -05:00. If no time zone is given, the schedule will run in UTC.

Examples:

*/10 * * * *Every 10 minutes
*/30 * * * *Every 30 minutes
30 * * * *Every 30th minute of every hour
0 */4 * * *Every 4 hours
0 */12 * * *Every 12 hours
0 0 */2 * * +01:00Every other day at midnight UTC+1
0 8 * * *Every day at 8am UTC
0 8 * * * America/VancouverEvery day at 8am in Vancouver
0 16 * * SUNEvery Sunday at 4pm UTC
0 0 * * 1-5Every weekday at midnight UTC
0 0 1 */2 *Every other month, at midnight UTC on the first day