mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 15:35:46 +07:00
[IMP] runbot: custom triger without branch changes
This allows to configure a custom trigger to use the base commits. This can be usefull to test a config on a branch that has some changes to ensure it works proprely.
This commit is contained in:
parent
48cd3a7f40
commit
8012b57880
@ -358,6 +358,7 @@ class Batch(models.Model):
|
|||||||
for commit_link in self.commit_link_ids:
|
for commit_link in self.commit_link_ids:
|
||||||
commit_link.commit_id = commit_link.commit_id._rebase_on(commit_link.base_commit_id)
|
commit_link.commit_id = commit_link.commit_id._rebase_on(commit_link.base_commit_id)
|
||||||
commit_link_by_repos = {commit_link.commit_id.repo_id.id: commit_link for commit_link in self.commit_link_ids}
|
commit_link_by_repos = {commit_link.commit_id.repo_id.id: commit_link for commit_link in self.commit_link_ids}
|
||||||
|
base_commit_link_by_repos = {commit_link.commit_id.repo_id.id: commit_link for commit_link in self.base_reference_batch_id.commit_link_ids}
|
||||||
version_id = self.bundle_id.version_id.id
|
version_id = self.bundle_id.version_id.id
|
||||||
project_id = self.bundle_id.project_id.id
|
project_id = self.bundle_id.project_id.id
|
||||||
trigger_customs = {}
|
trigger_customs = {}
|
||||||
@ -373,6 +374,10 @@ class Batch(models.Model):
|
|||||||
config = trigger_custom.config_id or trigger.config_id
|
config = trigger_custom.config_id or trigger.config_id
|
||||||
extra_params = trigger_custom.extra_params or ''
|
extra_params = trigger_custom.extra_params or ''
|
||||||
config_data = dict(trigger.config_data or {}) | dict(trigger_custom.config_data or {})
|
config_data = dict(trigger.config_data or {}) | dict(trigger_custom.config_data or {})
|
||||||
|
trigger_commit_link_by_repos = commit_link_by_repos
|
||||||
|
if trigger_custom.use_base_commits and self.base_reference_batch_id:
|
||||||
|
trigger_commit_link_by_repos = base_commit_link_by_repos
|
||||||
|
commits_links = [trigger_commit_link_by_repos[repo.id].id for repo in trigger_repos]
|
||||||
params_value = {
|
params_value = {
|
||||||
'version_id': version_id,
|
'version_id': version_id,
|
||||||
'extra_params': extra_params,
|
'extra_params': extra_params,
|
||||||
@ -380,7 +385,7 @@ class Batch(models.Model):
|
|||||||
'project_id': project_id,
|
'project_id': project_id,
|
||||||
'trigger_id': trigger.id, # for future reference and access rights
|
'trigger_id': trigger.id, # for future reference and access rights
|
||||||
'config_data': config_data,
|
'config_data': config_data,
|
||||||
'commit_link_ids': [(6, 0, [commit_link_by_repos[repo.id].id for repo in trigger_repos])],
|
'commit_link_ids': [(6, 0, commits_links)],
|
||||||
'modules': bundle.modules,
|
'modules': bundle.modules,
|
||||||
'dockerfile_id': dockerfile_id,
|
'dockerfile_id': dockerfile_id,
|
||||||
'create_batch_id': self.id,
|
'create_batch_id': self.id,
|
||||||
|
@ -9,6 +9,7 @@ class BundleTriggerCustomization(models.Model):
|
|||||||
|
|
||||||
trigger_id = fields.Many2one('runbot.trigger')
|
trigger_id = fields.Many2one('runbot.trigger')
|
||||||
start_mode = fields.Selection([('disabled', 'Disabled'), ('auto', 'Auto'), ('force', 'Force')], required=True, default='auto')
|
start_mode = fields.Selection([('disabled', 'Disabled'), ('auto', 'Auto'), ('force', 'Force')], required=True, default='auto')
|
||||||
|
use_base_commits = fields.Boolean("Use base commits", help="Allow to test a trigger without the branch changes", default=False)
|
||||||
bundle_id = fields.Many2one('runbot.bundle')
|
bundle_id = fields.Many2one('runbot.bundle')
|
||||||
config_id = fields.Many2one('runbot.build.config')
|
config_id = fields.Many2one('runbot.build.config')
|
||||||
extra_params = fields.Char("Custom parameters")
|
extra_params = fields.Char("Custom parameters")
|
||||||
|
@ -77,6 +77,7 @@
|
|||||||
<field name="trigger_custom_ids" nolabel="1">
|
<field name="trigger_custom_ids" nolabel="1">
|
||||||
<list editable="bottom">
|
<list editable="bottom">
|
||||||
<field name="start_mode"/>
|
<field name="start_mode"/>
|
||||||
|
<field name="use_base_commits"/>
|
||||||
<field name="trigger_id" domain="[('project_id', '=', parent.project_id)]"/>
|
<field name="trigger_id" domain="[('project_id', '=', parent.project_id)]"/>
|
||||||
<field name="config_id"/>
|
<field name="config_id"/>
|
||||||
<field name="extra_params"/>
|
<field name="extra_params"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user