diff --git a/runbot/models/build_config.py b/runbot/models/build_config.py
index ec777cb6..33159d7a 100644
--- a/runbot/models/build_config.py
+++ b/runbot/models/build_config.py
@@ -822,6 +822,8 @@ class ConfigStep(models.Model):
def _reference_batches_complement(self, batch, trigger):
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
version = bundle.version_id
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
- if next_versions and bundle.base_id.to_upgrade:
+ if next_versions:
for next_version in next_versions:
if bundle.version_id in upgrade_complement_step._get_upgrade_source_versions(next_version):
target_versions |= next_version
@@ -871,7 +873,7 @@ class ConfigStep(models.Model):
from_versions(bundle)
for f_bundle in target_refs_bundles:
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(
category_id=category_id
diff --git a/runbot/models/bundle.py b/runbot/models/bundle.py
index 8d07b007..97d7c4e2 100644
--- a/runbot/models/bundle.py
+++ b/runbot/models/bundle.py
@@ -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)]")
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_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)
@@ -89,6 +90,11 @@ class Bundle(models.Model):
for bundle in self:
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')
def _compute_base_id(self):
for bundle in self:
diff --git a/runbot/views/bundle_views.xml b/runbot/views/bundle_views.xml
index cb02d487..6692e035 100644
--- a/runbot/views/bundle_views.xml
+++ b/runbot/views/bundle_views.xml
@@ -50,6 +50,7 @@
+
@@ -150,6 +151,7 @@
+
@@ -168,6 +170,8 @@
+
+
diff --git a/runbot_builder/tools.py b/runbot_builder/tools.py
index 3e37c69b..636b1382 100644
--- a/runbot_builder/tools.py
+++ b/runbot_builder/tools.py
@@ -171,9 +171,10 @@ def run(client_class):
config_addons_path = ','.join([config_addons_path, addon_path])
odoo.tools.config['addons_path'] = config_addons_path
odoo.tools.config['forced_host_name'] = args.forced_host_name
+ import odoo.modules
# create environment
- registry = odoo.registry(args.database)
+ registry = odoo.modules.registry.Registry(args.database)
try:
with registry.cursor() as cr:
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})