The branch, master has been updated via d5fc97f Don't kill upload builds just yet, improve verboseness. from 9ff770d Cope with previous builds disappearing.
http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit d5fc97f2d69f206b0db768b9d0f094d92af76806 Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Nov 13 18:08:33 2010 +0100 Don't kill upload builds just yet, improve verboseness. ----------------------------------------------------------------------- Summary of changes: buildfarm/data.py | 1 + buildfarm/sqldb.py | 8 ++++---- import-and-analyse.py | 9 +++++---- 3 files changed, 10 insertions(+), 8 deletions(-) Changeset truncated at 500 lines: diff --git a/buildfarm/data.py b/buildfarm/data.py index 47a76b4..bc0eac9 100644 --- a/buildfarm/data.py +++ b/buildfarm/data.py @@ -376,6 +376,7 @@ class BuildResultStore(object): os.link(build.basename+".log", new_basename+".log") if os.path.exists(build.basename+".err"): os.link(build.basename+".err", new_basename+".err") + return Build(new_basename, build.tree, build.host, build.compiler, rev) def get_previous_revision(self, tree, host, compiler, revision): raise NoSuchBuildError(tree, host, compiler, revision) diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py index a244bd9..5ab71df 100644 --- a/buildfarm/sqldb.py +++ b/buildfarm/sqldb.py @@ -170,8 +170,6 @@ class StormCachingBuildResultStore(BuildResultStore): return build.revision def upload_build(self, build): - super(StormCachingBuildResultStore, self).upload_build(build) - rev, timestamp = build.revision_details() result = self.store.find(StormBuild, StormBuild.checksum == build.log_checksum()) existing_build = result.one() if existing_build is not None: @@ -179,14 +177,16 @@ class StormCachingBuildResultStore(BuildResultStore): assert build.tree == existing_build.tree assert build.host == existing_build.host assert build.compiler == existing_build.compiler - assert rev == existing_build.revision - return + return existing_build + rev, timestamp = build.revision_details() + super(StormCachingBuildResultStore, self).upload_build(build) new_basename = self.build_fname(build.tree, build.host, build.compiler, rev) new_build = StormBuild(new_basename, unicode(build.tree), unicode(build.host), unicode(build.compiler), rev) new_build.checksum = build.log_checksum() new_build.age = build.age_mtime() new_build.status = unicode(str(build.status())) self.store.add(new_build) + return new_build class StormCachingBuildFarm(BuildFarm): diff --git a/import-and-analyse.py b/import-and-analyse.py index 4f99b5c..a1cb47f 100755 --- a/import-and-analyse.py +++ b/import-and-analyse.py @@ -38,7 +38,7 @@ def check_and_send_mails(tree, host, compiler, cur, old): old_status = old.status() if not cur_status.regressed_since(old_status): - if opts.verbose >= 1: + if opts.verbose >= 3: print "... hasn't regressed since %s: %s" % (old_rev, old_status) return @@ -83,7 +83,7 @@ The build may have been broken by one of the following commits: for build in buildfarm.get_new_builds(): - if opts.verbose >= 1: + if opts.verbose >= 2: print "Processing %s..." % build, if not opts.dry_run: @@ -91,7 +91,7 @@ for build in buildfarm.get_new_builds(): (rev, rev_timestamp) = build.revision_details() - if opts.verbose >= 1: + if opts.verbose >= 2: print str(build.status()) try: @@ -114,7 +114,8 @@ for build in buildfarm.get_new_builds(): check_and_send_mails(build.tree, build.host, build.compiler, build, prev_build) if not opts.dry_run: - build.remove() + # When the new web script is introduced, kill the build here: + # build.remove() buildfarm.commit() smtp.quit() -- build.samba.org