From cb6a453cd796e8319abe2a0d1c3486e82f6d964c Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Sat, 1 May 2010 17:19:29 -0500 Subject: [PATCH] Nightly should always classify changes, so it keeps last_processed up to date --- buildbot/schedulers/timed.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/buildbot/schedulers/timed.py b/buildbot/schedulers/timed.py index 5dab86ead9d..f7600aa5ce5 100644 --- a/buildbot/schedulers/timed.py +++ b/buildbot/schedulers/timed.py @@ -196,8 +196,15 @@ def __init__(self, name, builderNames, minute=0, hour='*', self.fileIsImportant = fileIsImportant self._start_time = time.time() + # this scheduler does not support filtering, but ClassifierMixin needs a + # filter anyway + self.make_filter() + def get_initial_state(self, max_changeid): - return {"last_build": None} + return { + "last_build": None, + "last_processed": max_changeid, + } def getPendingBuildTimes(self): now = time.time() @@ -208,9 +215,9 @@ def getPendingBuildTimes(self): def run(self): d = defer.succeed(None) db = self.parent.db - if self.onlyIfChanged: - # classify_changes comes from base.ClassifierMixin, same as Scheduler. - d.addCallback(lambda ign: db.runInteraction(self.classify_changes)) + # always call classify_changes, so that we can keep last_processed + # up to date, in case we are configured with onlyIfChanged. + d.addCallback(lambda ign: db.runInteraction(self.classify_changes)) d.addCallback(lambda ign: db.runInteraction(self._check_timer)) return d