Description: Install and run Odoo without demo data
Commit: account-analytic:8f09f74d  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: partner-contact:957fe8e6  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: kmitl:2b9bed84  
Subject: [16.0][IMP] disbursement: improve request form layout (#608)
Author: Nonpawit Teerachetmongkol
Committer: GitHub
Commit: social:732f776f  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: stock-logistics-warehouse:6e7166c3  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: product-attribute:9d7d48a2  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: operating-unit:dd59492d  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: stock-logistics-request:78a27e65  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: agreement:800e753c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-backend:ccf60878  
Subject: Update requirements.txt
Author: Nopparut Saelim
Committer: GitHub
Commit: account-reconcile:c031db9d  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: mis-builder:82d39175  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: reporting-engine:4cafaadb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: odoo:6491e005  
Subject: [FIX] survey: avoid timer early submissions due to time difference
Author: João Alves
Committer: João Horta Alves
Commit: account-financial-reporting:948901d9  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: project:7a5c615c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-tools:3abe25d7  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: server-ux:23e96d19  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: hr:3af635cb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: account-financial-tools:c3b3e7dd  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: web:fb9be06e  
Subject: Translated using Weblate (Portuguese (Brazil))
Author: Luis Felipe Miléo
Committer: Weblate
Commit: account-invoicing:7207e6e2  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: purchase-workflow:ecf70d6c  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: server-brand:2bc45d77  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: l10n-thailand:0b7b078e  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: odoo-modules:76529673  
Subject: Merge branch '16.0' of github.com:Aginix/odoo-modules into 16.0
Author: Nonpawit Teerachetmongkol
Committer: Nonpawit Teerachetmongkol
Version: 16.0
Config: Without demo
Total time: 8m
Date Level Type Message
2026-03-19 17:50:40 INFO runbot Init build environment with config Without demo
2026-03-19 17:50:40 Starting step install_without_demo from config Without demo
2026-03-19 17:50:40 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-03-19 17:52:41 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-03-19 17:52:41 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3
2026-03-19 17:52:57 INFO server odoo.modules.loading:336 1 modules loaded in 9.74s, 7917 queries (+7917 extra)
2026-03-19 17:53:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-03-19 17:53:48 WARNING server odoo.addons.base.models.ir_ui_view:773
A button with icon attribute (fa-envelope-open) must have title in its tag, parents, descendants or have text
View error context:
{'file': '/data/build/kmitl/agx_sarabun/views/sarabun_document_views.xml',
 'line': 13,
 'name': 'sarabun.document.view.tree.incoming',
 'view': ir.ui.view(796,),
 'view.model': 'sarabun.document',
 'view.parent': ir.ui.view(),
 'xmlid': 'sarabun_document_view_tree_incoming'}
2026-03-19 17:53:48 WARNING server odoo.addons.base.models.ir_ui_view:773
A button with icon attribute (fa-envelope) must have title in its tag, parents, descendants or have text
View error context:
{'file': '/data/build/kmitl/agx_sarabun/views/sarabun_document_views.xml',
 'line': 14,
 'name': 'sarabun.document.view.tree.incoming',
 'view': ir.ui.view(796,),
 'view.model': 'sarabun.document',
 'view.parent': ir.ui.view(),
 'xmlid': 'sarabun_document_view_tree_incoming'}
2026-03-19 17:53:54 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-03-19 17:54:15 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-03-19 17:55:22 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-03-19 17:56:45 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:56:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-03-19 17:56:50 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (participant_ids, target_ids) of kmitl.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: kmitl_project and kmitl_project]
2026-03-19 17:56:50 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (organizer_ids, target_ids) of kmitl.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: kmitl_project and kmitl_project]
2026-03-19 17:56:52 WARNING server odoo.modules.loading:276
The models ['kmitl.project.exception.confirm'] have no access rules in module kmitl_project, consider adding some, like:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
kmitl_project.access_kmitl_project_exception_confirm,access_kmitl_project_exception_confirm,kmitl_project.model_kmitl_project_exception_confirm,base.group_user,1,0,0,0
2026-03-19 17:56:59 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:56:59 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:57:00 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:57:05 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:57:06 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-03-19 17:57:06 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.master.summary() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-03-19 17:57:06 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:57:39 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:57:43 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (quantity_unsigned, quantity) of stock.valuation.layer() have the same label: Quantity. [Modules: stock_picking_kmitl and stock_account]
2026-03-19 17:57:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-03-19 17:57:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.master.summary() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-03-19 17:57:49 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-03-19 17:57:49 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:57:56 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:57:56 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-03-19 17:57:59 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:57:59 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:58:01 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-03-19 17:58:03 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:58:36 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-03-19 17:58:36 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-03-19 17:58:41 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:42 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:42 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-03-19 17:58:43 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (display_purchase_order, purchase_order_id) of purchase.request.approval() have the same label: Purchase Order. [Modules: purchase_request_approval_disbursement and purchase_request_approval_disbursement]
2026-03-19 17:58:43 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-03-19 17:58:43 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-03-19 17:58:44 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:45 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (days_to_expire_display, days_to_expire) of purchase.order() have the same label: Days to Expire. [Modules: purchase_order_expiration and purchase_order_expiration]
2026-03-19 17:58:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-03-19 17:58:47 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (days_to_expire_display, days_to_expire) of purchase.order() have the same label: Days to Expire. [Modules: purchase_order_expiration and purchase_order_expiration]
2026-03-19 17:58:48 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (display_purchase_order, purchase_order_id) of purchase.request.approval() have the same label: Purchase Order. [Modules: purchase_request_approval_disbursement and purchase_request_approval_disbursement]
2026-03-19 17:58:48 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-03-19 17:58:49 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form.tier_validation.custom (): use the hasclass(*classes) function to filter elements by their classes
2026-03-19 17:58:49 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form.tier_validation.custom (): use the hasclass(*classes) function to filter elements by their classes
2026-03-19 17:58:51 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form l10n inherit (): use the hasclass(*classes) function to filter elements by their classes
2026-03-19 17:58:51 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form l10n inherit (): use the hasclass(*classes) function to filter elements by their classes
2026-03-19 17:58:51 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form l10n inherit (): use the hasclass(*classes) function to filter elements by their classes
2026-03-19 17:58:51 INFO server odoo.modules.loading:336 315 modules loaded in 349.71s, 185696 queries (+185800 extra)
2026-03-19 17:59:02 Step install_without_demo finished in 8m
2026-03-19 17:59:02 Starting step run_without_demo from config Without demo
2026-03-19 17:59:02 INFO runbot Start running build 09423-16-0
2026-03-19 17:59:02 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-03-19 18:00:54 INFO server odoo.modules.loading:336 1 modules loaded in 0.02s, 0 queries (+0 extra)
2026-03-19 18:00:54 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3
2026-03-19 18:00:54 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-03-19 18:00:57 INFO server odoo.modules.loading:336 315 modules loaded in 3.03s, 0 queries (+0 extra)
2026-03-20 02:42:30 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-03-20 02:42:30 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-03-20 02:42:30 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3
2026-03-20 02:42:30 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3
2026-03-20 02:42:35 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/odoo/odoo/tools/cache.py", line 85, in lookup
    r = d[key]
        ~^^^^^
  File "<decorator-gen-8>", line 2, in __getitem__
  File "/data/build/odoo/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/tools/lru.py", line 34, in __getitem__
    a = self.d[obj]
        ~~~~~~^^^^^
KeyError: ('ir.qweb', <function IrQWeb._get_cached_values at 0x7f7e42e80ae0>, ('(\'1290\', "\'en_US\'", \'None\', \'None\', \'False\', \'None\', \'None\', \'None\', \'1\')', 'template_1290_t_cache_0_cache', ('website.page', (4,), 1773942852.539464)))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/odoo/odoo/tools/cache.py", line 85, in lookup
    r = d[key]
        ~^^^^^
  File "<decorator-gen-8>", line 2, in __getitem__
  File "/data/build/odoo/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/tools/lru.py", line 34, in __getitem__
    a = self.d[obj]
        ~~~~~~^^^^^
KeyError: ('ir.qweb', <function IrQWeb._generate_asset_nodes_cache at 0x7f7e42e80c20>, 'web.assets_frontend', True, False, '', False, False, False, False, ('en_US', None, None, False, None, None, None, 1))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<1290>", line 1402, in template_1290
  File "<1290>", line 1015, in template_1290_content
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values
    value = self._get_cached_values(cache_key, get_value)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-70>", line 2, in _get_cached_values
  File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup
    value = d[key] = self.method(*args, **kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values
    return get_value()
           ^^^^^^^^^^^
  File "<1290>", line 1005, in template_1290_t_cache_0_cache
  File "<1290>", line 426, in template_1290_t_cache_0
  File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes
    return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes
    return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-71>", line 2, in _generate_asset_nodes_cache
  File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup
    value = d[key] = self.method(*args, **kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache
    return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes
    return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node
    css_attachments = self.css(is_minified=not is_debug_assets) or []
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css
    self.save_attachment(extension, css)
  File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment
    attachment = ira.with_user(SUPERUSER_ID).create(values)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-241>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create
    return super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-60>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 658, in create
    values.update(self._get_datas_related_values(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 271, in _get_datas_related_values
    values['store_fname'] = self._file_write(data, values['checksum'])
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 130, in _file_write
    fname, full_path = self._get_path(bin_value, checksum)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 110, in _get_path
    os.makedirs(dirname)
  File "<frozen os>", line 225, in makedirs
FileExistsError: [Errno 17] File exists: '/data/build/datadir/filestore/09423-16-0-without_demo/ea'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/data/build/odoo/odoo/http.py", line 2237, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 152, in retrying
    result = func()
             ^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1966, in dispatch
    return self.request.registry['ir.http']._dispatch(endpoint)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch
    response = super()._dispatch(endpoint)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch
    result.flatten()
  File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func
    func(self._wrapped__, *args, **kwargs)
  File "/data/build/odoo/odoo/http.py", line 1213, in flatten
    self.response.append(self.render())
                         ^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1205, in render
    return request.env["ir.ui.view"]._render_template(self.template, self.qcontext)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render
    return method_render(self, template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render
    result = ''.join(rendering)
             ^^^^^^^^^^^^^^^^^^
  File "<1288>", line 39, in template_1288
  File "<1288>", line 28, in template_1288_content
  File "<1290>", line 1408, in template_1290
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template
FileExistsError: [Errno 17] File exists: '/data/build/datadir/filestore/09423-16-0-without_demo/ea'
Template: website.layout
Path: /t/html/head/t[9]
Node: <t t-call-assets="web.assets_frontend" t-js="false"/>
2026-03-20 07:08:15 WARNING server odoo.http:2257 Please add at least one routing line.
2026-03-20 10:32:18 INFO runbot Kill build 09423-16-0