mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 13:25:47 +07:00
[FIX] runbot: update github status on duplicates too
Actually, when a build is a duplicate of another build, its github status is not updated. e.g. a pull request may not have a github status but its corresponding branch have a gtihub status. With this commit, all builds will have their github status updated based on the corresponding build status. Thanks for your help @xmo-odoo closes: #3
This commit is contained in:
parent
d7f727a0d0
commit
9555370fa6
@ -88,6 +88,8 @@ class runbot_build(models.Model):
|
|||||||
if duplicate_id and not context.get('force_rebuild'):
|
if duplicate_id and not context.get('force_rebuild'):
|
||||||
extra_info.update({'state': 'duplicate', 'duplicate_id': duplicate_id})
|
extra_info.update({'state': 'duplicate', 'duplicate_id': duplicate_id})
|
||||||
build_id.write(extra_info)
|
build_id.write(extra_info)
|
||||||
|
if build_id.state == 'duplicate' and build_id.duplicate_id.state in ('running', 'done'):
|
||||||
|
build_id._github_status()
|
||||||
return build_id
|
return build_id
|
||||||
|
|
||||||
def _reset(self):
|
def _reset(self):
|
||||||
@ -699,16 +701,17 @@ class runbot_build(models.Model):
|
|||||||
"""Notify github of failed/successful builds"""
|
"""Notify github of failed/successful builds"""
|
||||||
runbot_domain = self.env['runbot.repo']._domain()
|
runbot_domain = self.env['runbot.repo']._domain()
|
||||||
for build in self:
|
for build in self:
|
||||||
|
b = build.duplicate_id if build.state == 'duplicate' else build
|
||||||
desc = "runbot build %s" % (build.dest,)
|
desc = "runbot build %s" % (build.dest,)
|
||||||
if build.state == 'testing':
|
if b.state == 'testing':
|
||||||
state = 'pending'
|
state = 'pending'
|
||||||
elif build.state in ('running', 'done'):
|
elif b.state in ('running', 'done'):
|
||||||
state = 'error'
|
state = 'error'
|
||||||
if build.result == 'ok':
|
if b.result == 'ok':
|
||||||
state = 'success'
|
state = 'success'
|
||||||
if build.result == 'ko':
|
if b.result == 'ko':
|
||||||
state = 'failure'
|
state = 'failure'
|
||||||
desc += " (runtime %ss)" % (build.job_time,)
|
desc += " (runtime %ss)" % (b.job_time,)
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
status = {
|
status = {
|
||||||
@ -792,8 +795,9 @@ class runbot_build(models.Model):
|
|||||||
else:
|
else:
|
||||||
v['result'] = "ko"
|
v['result'] = "ko"
|
||||||
build.write(v)
|
build.write(v)
|
||||||
build._github_status()
|
# post statuses on duplicate too
|
||||||
|
for b in self.search([('name', '=', build.name)]):
|
||||||
|
b._github_status()
|
||||||
# run server
|
# run server
|
||||||
cmd, mods = build._cmd()
|
cmd, mods = build._cmd()
|
||||||
if os.path.exists(build._server('addons/im_livechat')):
|
if os.path.exists(build._server('addons/im_livechat')):
|
||||||
|
Loading…
Reference in New Issue
Block a user