mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 23:45:44 +07:00
[IMP] runbot: change trigger start logic
and add sequence on project
This commit is contained in:
parent
02eb8014a3
commit
eaf8964701
@ -302,9 +302,8 @@ class Batch(models.Model):
|
||||
self.warning('Missing commit for repo %s for trigger %s', (trigger_repos & missing_repos).mapped('name'), trigger.name)
|
||||
continue
|
||||
# in any case, search for an existing build
|
||||
|
||||
config = trigger_custom.config_id if trigger_custom else trigger.config_id
|
||||
if not config:
|
||||
continue
|
||||
extra_params = trigger_custom.extra_params if trigger_custom else ''
|
||||
config_data = trigger_custom.config_data if trigger_custom else {}
|
||||
params_value = {
|
||||
@ -326,7 +325,10 @@ class Batch(models.Model):
|
||||
|
||||
build = self.env['runbot.build']
|
||||
link_type = 'created'
|
||||
if ((trigger.repo_ids & bundle_repos) or bundle.build_all or bundle.sticky) and not trigger.manual: # only auto link build if bundle has a branch for this trigger
|
||||
force_trigger = trigger_custom and trigger_custom.start_mode == 'force'
|
||||
skip_trigger = (trigger_custom and trigger_custom.start_mode == 'disable') or trigger.manual
|
||||
should_start = ((trigger.repo_ids & bundle_repos) or bundle.build_all or bundle.sticky)
|
||||
if force_trigger or (should_start and not skip_trigger): # only auto link build if bundle has a branch for this trigger
|
||||
link_type, build = self._create_build(params)
|
||||
self.env['runbot.batch.slot'].create({
|
||||
'batch_id': self.id,
|
||||
|
@ -8,6 +8,7 @@ class BundleTriggerCustomization(models.Model):
|
||||
_description = 'Custom trigger'
|
||||
|
||||
trigger_id = fields.Many2one('runbot.trigger')
|
||||
start_mode = fields.Selection([('disabled', 'Disabled'), ('auto', 'Auto'), ('force', 'Force')], required=True, default='auto')
|
||||
bundle_id = fields.Many2one('runbot.bundle')
|
||||
config_id = fields.Many2one('runbot.build.config')
|
||||
extra_params = fields.Char("Custom parameters")
|
||||
|
@ -4,6 +4,7 @@ from odoo import models, fields
|
||||
class Project(models.Model):
|
||||
_name = 'runbot.project'
|
||||
_description = 'Project'
|
||||
_order = 'sequence, id'
|
||||
|
||||
name = fields.Char('Project name', required=True)
|
||||
group_ids = fields.Many2many('res.groups', string='Required groups')
|
||||
@ -11,6 +12,7 @@ class Project(models.Model):
|
||||
trigger_ids = fields.One2many('runbot.trigger', 'project_id', string='Triggers')
|
||||
dockerfile_id = fields.Many2one('runbot.dockerfile', index=True, help="Project Default Dockerfile")
|
||||
repo_ids = fields.One2many('runbot.repo', 'project_id', string='Repos')
|
||||
sequence = fields.Integer('Sequence')
|
||||
|
||||
|
||||
class Category(models.Model):
|
||||
|
@ -11,6 +11,7 @@
|
||||
<field name="dockerfile_id"/>
|
||||
<field name="group_ids"/>
|
||||
<field name="trigger_ids"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@ -25,6 +26,7 @@
|
||||
<field name="dockerfile_id"/>
|
||||
<field name="group_ids"/>
|
||||
<field name="trigger_ids"/>
|
||||
<field name="sequence"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@ -62,6 +64,7 @@
|
||||
</field>
|
||||
<field string="Trigger customisations" name="trigger_custom_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="start_mode"/>
|
||||
<field name="trigger_id" domain="[('project_id', '=', parent.project_id)]"/>
|
||||
<field name="config_id"/>
|
||||
<field name="extra_params"/>
|
||||
|
Loading…
Reference in New Issue
Block a user