[SCM] build.samba.org - branch master updated

Jelmer Vernooij jelmer at samba.org
Sat Nov 13 09:54:21 MST 2010


The branch, master has been updated
       via  d751b05 Cope with builds already existing.
      from  73d45eb Cope with system version of sqlite.

http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d751b05bd7c140307427ce7403b29a42d282535c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 13 17:54:11 2010 +0100

    Cope with builds already existing.

-----------------------------------------------------------------------

Summary of changes:
 buildfarm/sqldb.py    |    9 +++++++++
 import-and-analyse.py |   18 +++++++++---------
 2 files changed, 18 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py
index ca7d235..a244bd9 100644
--- a/buildfarm/sqldb.py
+++ b/buildfarm/sqldb.py
@@ -172,6 +172,15 @@ class StormCachingBuildResultStore(BuildResultStore):
     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:
+            # Already present
+            assert build.tree == existing_build.tree
+            assert build.host == existing_build.host
+            assert build.compiler == existing_build.compiler
+            assert rev == existing_build.revision
+            return
         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()
diff --git a/import-and-analyse.py b/import-and-analyse.py
index 05c8a87..07ddcd0 100755
--- a/import-and-analyse.py
+++ b/import-and-analyse.py
@@ -39,7 +39,7 @@ def check_and_send_mails(tree, host, compiler, cur, old):
 
     if not cur_status.regressed_since(old_status):
         if opts.verbose >= 1:
-            print "the build didn't get worse since %r" % old_status
+            print "... hasn't regressed since %s: %s" % (old_rev, old_status)
         return
 
     recipients = set()
@@ -95,16 +95,16 @@ for build in buildfarm.get_new_builds():
         print str(build.status())
 
     try:
-        prev_rev = buildfarm.builds.get_previous_revision(build.tree, build.host, build.compiler, rev)
-    except data.NoSuchBuildError:
-        try:
+        if opts.dry_run:
             # Perhaps this is a dry run and rev is not in the database yet?
             prev_rev = buildfarm.builds.get_latest_revision(build.tree, build.host, build.compiler)
-        except data.NoSuchBuildError:
-            if opts.verbose >= 1:
-                print "Unable to find previous build for %s,%s,%s" % (build.tree, build.host, build.compiler)
-            # Can't send a nastygram until there are 2 builds..
-            continue
+        else:
+            prev_rev = buildfarm.builds.get_previous_revision(build.tree, build.host, build.compiler, rev)
+    except data.NoSuchBuildError:
+        if opts.verbose >= 1:
+            print "Unable to find previous build for %s,%s,%s" % (build.tree, build.host, build.compiler)
+        # Can't send a nastygram until there are 2 builds..
+        continue
     else:
         prev_build = buildfarm.get_build(build.tree, build.host, build.compiler, prev_rev)
         check_and_send_mails(build.tree, build.host, build.compiler, build, prev_build)


-- 
build.samba.org


More information about the samba-cvs mailing list