mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 15:35:46 +07:00
[IMP] runbot: allow to disable upgrade from a version
This commit is contained in:
parent
ecd9681b65
commit
2b690de566
@ -822,6 +822,8 @@ class ConfigStep(models.Model):
|
|||||||
|
|
||||||
def _reference_batches_complement(self, batch, trigger):
|
def _reference_batches_complement(self, batch, trigger):
|
||||||
bundle = batch.bundle_id
|
bundle = batch.bundle_id
|
||||||
|
if not bundle.base_id.to_upgrade or not bundle.base_id.to_upgrade_from:
|
||||||
|
return self.env['runbot.batch']
|
||||||
category_id = trigger.upgrade_dumps_trigger_id.category_id.id
|
category_id = trigger.upgrade_dumps_trigger_id.category_id.id
|
||||||
version = bundle.version_id
|
version = bundle.version_id
|
||||||
next_versions = version.next_major_version_id | version.next_intermediate_version_ids # TODO filter on trigger version
|
next_versions = version.next_major_version_id | version.next_intermediate_version_ids # TODO filter on trigger version
|
||||||
@ -829,7 +831,7 @@ class ConfigStep(models.Model):
|
|||||||
|
|
||||||
upgrade_complement_step = trigger.upgrade_dumps_trigger_id.upgrade_step_id
|
upgrade_complement_step = trigger.upgrade_dumps_trigger_id.upgrade_step_id
|
||||||
|
|
||||||
if next_versions and bundle.base_id.to_upgrade:
|
if next_versions:
|
||||||
for next_version in next_versions:
|
for next_version in next_versions:
|
||||||
if bundle.version_id in upgrade_complement_step._get_upgrade_source_versions(next_version):
|
if bundle.version_id in upgrade_complement_step._get_upgrade_source_versions(next_version):
|
||||||
target_versions |= next_version
|
target_versions |= next_version
|
||||||
@ -871,7 +873,7 @@ class ConfigStep(models.Model):
|
|||||||
from_versions(bundle)
|
from_versions(bundle)
|
||||||
for f_bundle in target_refs_bundles:
|
for f_bundle in target_refs_bundles:
|
||||||
from_versions(f_bundle)
|
from_versions(f_bundle)
|
||||||
source_refs_bundles = source_refs_bundles.filtered('to_upgrade')
|
source_refs_bundles = source_refs_bundles.filtered('to_upgrade_from')
|
||||||
|
|
||||||
return (target_refs_bundles | source_refs_bundles).with_context(
|
return (target_refs_bundles | source_refs_bundles).with_context(
|
||||||
category_id=category_id
|
category_id=category_id
|
||||||
|
@ -34,6 +34,7 @@ class Bundle(models.Model):
|
|||||||
defined_base_id = fields.Many2one('runbot.bundle', 'Forced base bundle', domain="[('project_id', '=', project_id), ('is_base', '=', True)]")
|
defined_base_id = fields.Many2one('runbot.bundle', 'Forced base bundle', domain="[('project_id', '=', project_id), ('is_base', '=', True)]")
|
||||||
base_id = fields.Many2one('runbot.bundle', 'Base bundle', compute='_compute_base_id', store=True)
|
base_id = fields.Many2one('runbot.bundle', 'Base bundle', compute='_compute_base_id', store=True)
|
||||||
to_upgrade = fields.Boolean('To upgrade', compute='_compute_to_upgrade', store=True, index=False)
|
to_upgrade = fields.Boolean('To upgrade', compute='_compute_to_upgrade', store=True, index=False)
|
||||||
|
to_upgrade_from = fields.Boolean('To upgrade From', compute='_compute_to_upgrade_from', store=True, index=False)
|
||||||
|
|
||||||
has_pr = fields.Boolean('Has PR', compute='_compute_has_pr', store=True)
|
has_pr = fields.Boolean('Has PR', compute='_compute_has_pr', store=True)
|
||||||
|
|
||||||
@ -89,6 +90,11 @@ class Bundle(models.Model):
|
|||||||
for bundle in self:
|
for bundle in self:
|
||||||
bundle.to_upgrade = bundle.is_base
|
bundle.to_upgrade = bundle.is_base
|
||||||
|
|
||||||
|
@api.depends('is_base')
|
||||||
|
def _compute_to_upgrade_from(self):
|
||||||
|
for bundle in self:
|
||||||
|
bundle.to_upgrade_from = bundle.is_base
|
||||||
|
|
||||||
@api.depends('name', 'is_base', 'defined_base_id', 'base_id.is_base', 'project_id')
|
@api.depends('name', 'is_base', 'defined_base_id', 'base_id.is_base', 'project_id')
|
||||||
def _compute_base_id(self):
|
def _compute_base_id(self):
|
||||||
for bundle in self:
|
for bundle in self:
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
<field name="project_id"/>
|
<field name="project_id"/>
|
||||||
<field name="sticky" readonly="0"/>
|
<field name="sticky" readonly="0"/>
|
||||||
<field name="to_upgrade" readonly="0"/>
|
<field name="to_upgrade" readonly="0"/>
|
||||||
|
<field name="to_upgrade_from" readonly="0"/>
|
||||||
<field name="is_base"/>
|
<field name="is_base"/>
|
||||||
<field name="base_id"/>
|
<field name="base_id"/>
|
||||||
<field name="defined_base_id"/>
|
<field name="defined_base_id"/>
|
||||||
@ -150,6 +151,7 @@
|
|||||||
<field name="is_base"/>
|
<field name="is_base"/>
|
||||||
<field name="sticky"/>
|
<field name="sticky"/>
|
||||||
<field name="to_upgrade"/>
|
<field name="to_upgrade"/>
|
||||||
|
<field name="to_upgrade_from"/>
|
||||||
<field name="no_build"/>
|
<field name="no_build"/>
|
||||||
<field name="branch_ids"/>
|
<field name="branch_ids"/>
|
||||||
<field name="version_id"/>
|
<field name="version_id"/>
|
||||||
@ -168,6 +170,8 @@
|
|||||||
<filter string="For next freeze" name="for_next_freeze" domain="[('for_next_freeze', '=', True)]"/>
|
<filter string="For next freeze" name="for_next_freeze" domain="[('for_next_freeze', '=', True)]"/>
|
||||||
<filter string="Has open pr" name="has_pr" domain="[('has_pr', '=', True)]"/>
|
<filter string="Has open pr" name="has_pr" domain="[('has_pr', '=', True)]"/>
|
||||||
<filter string="No pr" name="no_pr" domain="[('branch_ids', '!=', []), '!', ('branch_ids', 'any', [('is_pr', '=', True)])]"/>
|
<filter string="No pr" name="no_pr" domain="[('branch_ids', '!=', []), '!', ('branch_ids', 'any', [('is_pr', '=', True)])]"/>
|
||||||
|
<filter string="Is base" name="is_base" domain="[('is_base', '=', True)]"/>
|
||||||
|
<filter string="Is sticky" name="is_sticky" domain="[('sticky', '=', True)]"/>
|
||||||
<separator/>
|
<separator/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
@ -171,9 +171,10 @@ def run(client_class):
|
|||||||
config_addons_path = ','.join([config_addons_path, addon_path])
|
config_addons_path = ','.join([config_addons_path, addon_path])
|
||||||
odoo.tools.config['addons_path'] = config_addons_path
|
odoo.tools.config['addons_path'] = config_addons_path
|
||||||
odoo.tools.config['forced_host_name'] = args.forced_host_name
|
odoo.tools.config['forced_host_name'] = args.forced_host_name
|
||||||
|
import odoo.modules
|
||||||
|
|
||||||
# create environment
|
# create environment
|
||||||
registry = odoo.registry(args.database)
|
registry = odoo.modules.registry.Registry(args.database)
|
||||||
try:
|
try:
|
||||||
with registry.cursor() as cr:
|
with registry.cursor() as cr:
|
||||||
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
|
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
|
||||||
|
Loading…
Reference in New Issue
Block a user