mirror of
https://github.com/odoo/runbot.git
synced 2025-03-16 07:55:45 +07:00
[FIX] runbot: add build type
The unicode icon added in the build subject is not clear for the users. In that state, it's not easy to add a title on the icon or the subject. With this commit, a build type field is added to differentiate the builds and add the appropriate icon and title. Closes: #24
This commit is contained in:
parent
8471c8c35b
commit
52cdd9fd27
@ -6,7 +6,7 @@
|
||||
'author': "Odoo SA",
|
||||
'website': "http://runbot.odoo.com",
|
||||
'category': 'Website',
|
||||
'version': '2.1',
|
||||
'version': '2.2',
|
||||
'depends': ['website', 'base'],
|
||||
'data': [
|
||||
'security/runbot_security.xml',
|
||||
|
@ -35,6 +35,8 @@ class Runbot(http.Controller):
|
||||
'duplicate_of': build.duplicate_id if build.state == 'duplicate' else False,
|
||||
'coverage': build.coverage or build.branch_id.coverage,
|
||||
'revdep_build_ids': sorted(build.revdep_build_ids, key=lambda x: x.repo_id.name),
|
||||
'build_type' : build.build_type,
|
||||
'build_type_label': dict(build.fields_get('build_type', 'selection')['build_type']['selection']).get(build.build_type, build.build_type),
|
||||
}
|
||||
|
||||
def _pending(self):
|
||||
|
@ -66,6 +66,13 @@ class runbot_build(models.Model):
|
||||
extra_params = fields.Char('Extra cmd args')
|
||||
coverage = fields.Boolean('Enable code coverage')
|
||||
coverage_result = fields.Float('Coverage result', digits=(5, 2))
|
||||
build_type = fields.Selection([('scheduled', 'This build was automatically scheduled'),
|
||||
('rebuild', 'This build is a rebuild'),
|
||||
('normal', 'normal build'),
|
||||
('indirect', 'Automatic rebuild'),
|
||||
],
|
||||
default='normal',
|
||||
string='Build type')
|
||||
|
||||
def copy(self, values=None):
|
||||
raise UserError("Cannot duplicate build!")
|
||||
@ -283,8 +290,9 @@ class runbot_build(models.Model):
|
||||
'author_email': build.author_email,
|
||||
'committer': build.committer,
|
||||
'committer_email': build.committer_email,
|
||||
'subject': u'♻️ %s' % build.subject,
|
||||
'subject': build.subject,
|
||||
'modules': build.modules,
|
||||
'build_type': 'rebuild'
|
||||
})
|
||||
build = new_build
|
||||
else:
|
||||
|
@ -223,6 +223,7 @@ class runbot_repo(models.Model):
|
||||
latest_rev_build = Build.search([('repo_id.id', '=', rev_repo.id), ('branch_id.branch_name', '=', branch.branch_name)], order='id desc', limit=1)
|
||||
if latest_rev_build:
|
||||
_logger.debug('Reverse dependency build %s forced in repo %s by commit %s', latest_rev_build.dest, rev_repo.name, sha[:6])
|
||||
latest_rev_build.build_type = 'indirect'
|
||||
new_build.revdep_build_ids += latest_rev_build._force(message='Rebuild from dependency %s commit %s' % (repo.name, sha[:6]))
|
||||
|
||||
# skip old builds (if their sequence number is too low, they will not ever be built)
|
||||
|
@ -61,6 +61,8 @@
|
||||
</t>
|
||||
<br/>
|
||||
<i class="fa fa-envelope-o"></i>
|
||||
<t t-if="bu['build_type']=='scheduled'"><i class="fa fa-clock-o" t-att-title="bu['build_type_label']" t-att-aria-label="bu['build_type_label']"/></t>
|
||||
<t t-if="bu['build_type'] in ('rebuild', 'redirect')"><i class="fa fa-recycle" t-att-title="bu['build_type_label']" t-att-aria-label="bu['build_type_label']"/></t>
|
||||
<a t-attf-href="https://#{repo['base']}/commit/#{bu['name']}"><t t-esc="bu['subject'][:32] + ('...' if bu['subject'][32:] else '') " t-att-title="bu['subject']"/></a>
|
||||
<br/>
|
||||
<t t-call="runbot.build_name"/> — <small><a t-attf-href="/runbot/build/{{bu['id']}}"><t t-esc="bu['dest']"/></a> on <t t-esc="bu['host']"/> <a t-if="bu['state'] == 'running'" t-attf-href="http://{{bu['domain']}}/?db={{bu['dest']}}-all"><i class="fa fa-sign-in"></i></a></small>
|
||||
|
@ -149,6 +149,8 @@
|
||||
<t t-if="bu['state'] in ['running','done'] and bu['result'] in ['killed', 'manually_killed']"><t t-set="klass">killed</t></t>
|
||||
<td t-attf-class="{{klass}}">
|
||||
<t t-call="runbot.build_button"><t t-set="klass">btn-group-sm</t></t>
|
||||
<t t-if="bu['build_type']=='scheduled'"><i class="fa fa-clock-o" t-att-title="bu['build_type_label']" t-att-aria-label="bu['build_type_label']"/></t>
|
||||
<t t-if="bu['build_type'] in ('rebuild', 'indirect')"><i class="fa fa-recycle" t-att-title="bu['build_type_label']" t-att-aria-label="bu['build_type_label']"/></t>
|
||||
<t t-if="bu['subject']">
|
||||
<span t-esc="bu['subject'][:32] + ('...' if bu['subject'][32:] else '') " t-att-title="bu['subject']"/>
|
||||
<br/>
|
||||
|
Loading…
Reference in New Issue
Block a user