diff --git a/runbot/models/build.py b/runbot/models/build.py
index 9ac59763..5d8fdeb3 100644
--- a/runbot/models/build.py
+++ b/runbot/models/build.py
@@ -120,7 +120,6 @@ class runbot_build(models.Model):
@api.depends('children_ids.global_state', 'local_state', 'duplicate_id.global_state')
def _compute_global_state(self):
- # could we use nb_pending / nb_testing ? not in a compute, but in a update state method
for record in self:
if record.duplicate_id:
record.global_state = record.duplicate_id.global_state
@@ -172,23 +171,6 @@ class runbot_build(models.Model):
def _get_result_score(self, result):
return result_order.index(result)
- def _update_nb_children(self, new_state, old_state=None):
- # could be interresting to update state in batches.
- tracked_count_list = ['pending', 'testing', 'running']
- if (new_state not in tracked_count_list and old_state not in tracked_count_list) or new_state == old_state:
- return
-
- for record in self:
- values = {}
- if old_state in tracked_count_list:
- values['nb_%s' % old_state] = record['nb_%s' % old_state] - 1
- if new_state in tracked_count_list:
- values['nb_%s' % new_state] = record['nb_%s' % new_state] + 1
-
- record.write(values)
- if record.parent_id:
- record.parent_id._update_nb_children(new_state, old_state)
-
@api.depends('active_step', 'duplicate_id.active_step')
def _compute_job(self):
for build in self:
@@ -209,7 +191,6 @@ class runbot_build(models.Model):
return self.env['runbot.build']
vals['config_id'] = vals['config_id'] if 'config_id' in vals else branch.config_id.id
build_id = super(runbot_build, self).create(vals)
- build_id._update_nb_children(build_id.local_state)
extra_info = {'sequence': build_id.id if not build_id.sequence else build_id.sequence}
context = self.env.context
@@ -316,8 +297,6 @@ class runbot_build(models.Model):
build_by_old_values = defaultdict(lambda: self.env['runbot.build'])
for record in self:
build_by_old_values[record.local_state] += record
- for local_state, builds in build_by_old_values.items():
- builds._update_nb_children(values.get('local_state'), local_state)
assert 'state' not in values
local_result = values.get('local_result')
for build in self:
diff --git a/runbot/templates/build.xml b/runbot/templates/build.xml
index c2a1a2d9..db51b773 100644
--- a/runbot/templates/build.xml
+++ b/runbot/templates/build.xml
@@ -148,9 +148,6 @@
Children:
- pending
- testing
- running
diff --git a/runbot/tests/test_build.py b/runbot/tests/test_build.py
index b3fe1aeb..1d6974a8 100644
--- a/runbot/tests/test_build.py
+++ b/runbot/tests/test_build.py
@@ -327,62 +327,59 @@ class Test_Build(RunbotCase):
'extra_params': '5',
})
- def assert_state(nb_pending, nb_testing, nb_running, global_state, build):
- self.assertEqual(build.nb_pending, nb_pending)
- self.assertEqual(build.nb_testing, nb_testing)
- self.assertEqual(build.nb_running, nb_running)
+ def assert_state(global_state, build):
self.assertEqual(build.global_state, global_state)
- assert_state(5, 0, 0, 'pending', build1)
- assert_state(3, 0, 0, 'pending', build1_1)
- assert_state(1, 0, 0, 'pending', build1_2)
- assert_state(1, 0, 0, 'pending', build1_1_1)
- assert_state(1, 0, 0, 'pending', build1_1_2)
+ assert_state('pending', build1)
+ assert_state('pending', build1_1)
+ assert_state('pending', build1_2)
+ assert_state('pending', build1_1_1)
+ assert_state('pending', build1_1_2)
build1.local_state = 'testing'
build1_1.local_state = 'testing'
build1.local_state = 'done'
build1_1.local_state = 'done'
- assert_state(3, 0, 0, 'waiting', build1)
- assert_state(2, 0, 0, 'waiting', build1_1)
- assert_state(1, 0, 0, 'pending', build1_2)
- assert_state(1, 0, 0, 'pending', build1_1_1)
- assert_state(1, 0, 0, 'pending', build1_1_2)
+ assert_state('waiting', build1)
+ assert_state('waiting', build1_1)
+ assert_state('pending', build1_2)
+ assert_state('pending', build1_1_1)
+ assert_state('pending', build1_1_2)
build1_1_1.local_state = 'testing'
- assert_state(2, 1, 0, 'waiting', build1)
- assert_state(1, 1, 0, 'waiting', build1_1)
- assert_state(1, 0, 0, 'pending', build1_2)
- assert_state(0, 1, 0, 'testing', build1_1_1)
- assert_state(1, 0, 0, 'pending', build1_1_2)
+ assert_state('waiting', build1)
+ assert_state('waiting', build1_1)
+ assert_state('pending', build1_2)
+ assert_state('testing', build1_1_1)
+ assert_state('pending', build1_1_2)
build1_2.local_state = 'testing'
- assert_state(1, 2, 0, 'waiting', build1)
- assert_state(1, 1, 0, 'waiting', build1_1)
- assert_state(0, 1, 0, 'testing', build1_2)
- assert_state(0, 1, 0, 'testing', build1_1_1)
- assert_state(1, 0, 0, 'pending', build1_1_2)
+ assert_state('waiting', build1)
+ assert_state('waiting', build1_1)
+ assert_state('testing', build1_2)
+ assert_state('testing', build1_1_1)
+ assert_state('pending', build1_1_2)
build1_2.local_state = 'testing' # writing same state a second time
- assert_state(1, 2, 0, 'waiting', build1)
- assert_state(1, 1, 0, 'waiting', build1_1)
- assert_state(0, 1, 0, 'testing', build1_2)
- assert_state(0, 1, 0, 'testing', build1_1_1)
- assert_state(1, 0, 0, 'pending', build1_1_2)
+ assert_state('waiting', build1)
+ assert_state('waiting', build1_1)
+ assert_state('testing', build1_2)
+ assert_state('testing', build1_1_1)
+ assert_state('pending', build1_1_2)
build1_1_2.local_state = 'done'
build1_1_1.local_state = 'done'
build1_2.local_state = 'done'
- assert_state(0, 0, 0, 'done', build1)
- assert_state(0, 0, 0, 'done', build1_1)
- assert_state(0, 0, 0, 'done', build1_2)
- assert_state(0, 0, 0, 'done', build1_1_1)
- assert_state(0, 0, 0, 'done', build1_1_2)
+ assert_state('done', build1)
+ assert_state('done', build1_1)
+ assert_state('done', build1_2)
+ assert_state('done', build1_1_1)
+ assert_state('done', build1_1_2)
def test_duplicate_childrens(self):
build_old = self.create_build({
@@ -406,8 +403,6 @@ class Test_Build(RunbotCase):
self.assertEqual(build_child.local_state, 'duplicate')
self.assertEqual(build_child.duplicate_id, build_old)
self.assertEqual(build_child.global_state, 'done')
- self.assertEqual(build_parent.nb_pending, 0)
- self.assertEqual(build_parent.nb_testing, 0)
self.assertEqual(build_parent.global_state, 'done')
diff --git a/runbot/views/host_views.xml b/runbot/views/host_views.xml
index bfbd09b5..ae784994 100644
--- a/runbot/views/host_views.xml
+++ b/runbot/views/host_views.xml
@@ -16,8 +16,6 @@
-
-
|