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 <[email protected]>
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