This is highly configurable periodic build scheduler, which triggers
a build at particular times of day, week, month, or year. The
configuration syntax is very similar to the well-known
format, in which you provide values for minute, hour, day, and month
(some of which can be wildcards), and a build is triggered whenever
the current time matches the given constraints. This can run a build
every night, every morning, every weekend, alternate Thursdays,
on your boss's birthday, etc.
Pass some subset of
dayOfWeek; each may be a single number or
a list of valid values. The builds will be triggered whenever the
current time matches these values. Wildcards are represented by a
'*' string. All fields default to a wildcard except 'minute', so
with no fields this defaults to a build every hour, on the hour.
The full list of parameters is:
Nonehere means the default branch, and will not match other branches!
change_filterare only relevant if
dayOfWeekare both specified, builds will be started when either parameter matches.
For example, the following master.cfg clause will cause a build to be started every night at 3:00am:
from buildbot.schedulers import timed s = timed.Nightly(name='nightly', branch='master', builderNames=['builder1', 'builder2'], hour=3, minute=0)
This scheduler will perform a build each monday morning at 6:23am and again at 8:23am, but only if someone has committed code in the interim:
s = timed.Nightly(name='BeforeWork', branch='default', builderNames=['builder1'], dayOfWeek=0, hour=[6,8], minute=23, onlyIfChanged=True)
The following runs a build every two hours, using Python's
s = timed.Nightly(name='every2hours', branch=None, # default branch builderNames=['builder1'], hour=range(0, 24, 2))
Finally, this example will run only on December 24th:
s = timed.Nightly(name='SleighPreflightCheck', branch=None, # default branch builderNames=['flying_circuits', 'radar'], month=12, dayOfMonth=24, hour=12, minute=0)