From f7d29f87a461136f186091172ad95b3d4ab32caf Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Fri, 24 Mar 2023 13:06:56 +0100 Subject: [PATCH] [FIX] runbot: fix build end Previous fix was not enough because based on global_state, meaning that the build if the build goes waiting, it need to update its end anyway. --- runbot/models/build.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runbot/models/build.py b/runbot/models/build.py index 6e4e39be..ce870047 100644 --- a/runbot/models/build.py +++ b/runbot/models/build.py @@ -353,17 +353,21 @@ class BuildResult(models.Model): values.pop('local_result') else: raise ValidationError('Local result cannot be set to a less critical level') - init_global_results = self.mapped('global_result') init_global_states = self.mapped('global_state') + init_local_states = self.mapped('local_state') + res = super(BuildResult, self).write(values) for init_global_result, build in zip(init_global_results, self): if init_global_result != build.global_result: build._github_status() + for init_local_state, build in zip(init_local_states, self): + if init_local_state not in ('done', 'running') and build.local_state in ('done', 'running'): + build.build_end = now() + for init_global_state, build in zip(init_global_states, self): if init_global_state not in ('done', 'running') and build.global_state in ('done', 'running'): - build.build_end = now() build._github_status() return res