Init build environment with config Modified modules
2026-08-04 16:53:27
Starting step modified-modules from config Modified modules
2026-08-04 16:53:27
INFO
runbot
Creando sub build para price_security
2026-08-04 16:53:27
ERROR
runbot
99980-19-0 failed running step modified-modules:
CalledProcessError(128, ['git', '-C', '/home/runbot/odoo/runbot/runbot/static/repo/ingadhoc-delivery', 'diff-tree', '--name-status', '--no-commit-id', '-r', '4e6404617b9eeb2ed20fdb78c7d1c6cca96361ca', 'fd21a2f06bb18b5590ea666ee6481f823c6df04e']) while evaluating
'# Solo usamos los commits new porque head tendria todos los repositorios si es una rebuild y no queremos forzar tantas subbuilds
commit_links = build.params_id.commit_link_ids.filtered(lambda x: x.match_type in ['new'])
modules = []
removed_modules = []
for commit_link in commit_links:
# Cada commit pertenece a un repositorio diferente, con lo cual podemos hacer la iteración completa (con creación de las builds) dentro de este for
modules = []
removed_modules = []
commit = commit_link.commit_id
# Si el commit_link no tiene merge_base (ej. repo nuevo sin rama base, como tuqui),
# merge_base_commit_id.name es False y rompe _git() con TypeError. Lo omitimos.
if not commit_link.merge_base_commit_id:
build._log('', 'Sin merge_base para %s, se omite (no se detectan modulos modificados)' % commit.repo_id.name)
continue
diff = commit.repo_id._git(['diff-tree', '--name-status','--no-commit-id' ,'-r' , commit_link.merge_base_commit_id.name, commit.name]).strip()
diff_list = diff.split('\
')
for file in diff_list:
if "\\t" in file:
file = file.split('\\t', 1)[1]
if "/" in file:
modules.append(file.split('/')[0])
modules = list(set(modules))
# Si se borró el __manifest__.py, lo consideramos como un módulo eliminado
removed_modules = [module for module in modules if f'D\\t{module}/__manifest__.py' in diff_list]
for module in modules:
if module == 'pos_payway' or module.startswith('.'):
continue
if module in removed_modules:
build._log('', f'El módulo {module} se eliminó. No se crea subbuild para el mismo')
continue
test_enable = commit._list_files([f'{module}/tests/__init__.py']) != ['']
build._log('', 'Creando sub build para %s' % module)
config_id = 12 # Odoo by Adhoc Conf (with translations)
param_values = {
'config_id': config_id,
'modules': '-*,%s' % module,
}
if test_enable:
manifest_content = commit.repo_id._git(['show', f'{commit.name}:{module}/__manifest__.py'])
if '"installable": True' in manifest_content or "installable': True" in manifest_content:
param_values.update({'extra_params': '--load-language=en_US,es_419 --test-enable --test-tags /%s' % module})
child = build._add_child(param_values)
child.write({'description': module})'