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
2a7e76eec7
@ -358,6 +358,7 @@ class Batch(models.Model):
|
||||
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_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
|
||||
project_id = self.bundle_id.project_id.id
|
||||
trigger_customs = {}
|
||||
@ -373,6 +374,10 @@ class Batch(models.Model):
|
||||
config = trigger_custom.config_id or trigger.config_id
|
||||
extra_params = trigger_custom.extra_params 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 = {
|
||||
'version_id': version_id,
|
||||
'extra_params': extra_params,
|
||||
@ -380,7 +385,7 @@ class Batch(models.Model):
|
||||
'project_id': project_id,
|
||||
'trigger_id': trigger.id, # for future reference and access rights
|
||||
'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,
|
||||
'dockerfile_id': dockerfile_id,
|
||||
'create_batch_id': self.id,
|
||||
|
@ -9,6 +9,7 @@ class BundleTriggerCustomization(models.Model):
|
||||
|
||||
trigger_id = fields.Many2one('runbot.trigger')
|
||||
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')
|
||||
config_id = fields.Many2one('runbot.build.config')
|
||||
extra_params = fields.Char("Custom parameters")
|
||||
|
@ -77,6 +77,7 @@
|
||||
<field name="trigger_custom_ids" nolabel="1">
|
||||
<list editable="bottom">
|
||||
<field name="start_mode"/>
|
||||
<field name="use_base_commits"/>
|
||||
<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