Skip to content

Upgrade an explicit module list together with its local dependencies #142

Description

@shiny-code-app

Problem

A deploy never loads data changes in a tenant's dependency addons. Launchplane's post-deploy passes the artifact's install list as ODOO_UPDATE_MODULES (for OPW, opw_custom and friends). run_odoo_data_workflows.py update_addons upgrades exactly that list. Odoo's -u upgrades a module and its dependents, not its dependencies. So a new cron, view, record or field default in an addon such as shopify_sync, which opw_custom depends on, is not loaded until the next restore or bootstrap. The Python code is live, but its data is not.

ODOO_UPDATE_MODULES=AUTO already expands installed local modules to their local dependency closure (update_addons, lines ~2044–2083). The explicit-list branch does not.

Evidence

  • 2026-09-30 opw/testing deploy of artifact artifact-opw-b31e0d5a218e899f (run): post-deploy passed. opw_custom shows write_date 03:34, the deploy time, but shopify_sync still shows 2026-09-29 14:25, the last restore.
  • The ir_cron_shopify_check_product_payloads record added by odoo-tenant-opw#170 in shopify_sync/data/shopify_cron.xml does not exist on opw/testing after the deploy.

Finish line

  • An explicit ODOO_UPDATE_MODULES list is upgraded together with its installed local dependency closure, the same closure AUTO uses, so dependency addons' data loads on every deploy.
  • A test covers an explicit list whose dependency is a local addon.

Notes

  • Scope stays local: only modules found in the local addon directories are added, never Odoo core or enterprise addons.
  • Tenants pick this up through their devkit pin, so it reaches opw/testing on the next artifact publish after the pin moves.

Activity

  1. shiny-code-app commented on Sep 30, 2026

    @shiny-code-app
    ContributorAuthor

    Fixed by #143 (e45c916b): a configured ODOO_UPDATE_MODULES list now also upgrades its installed local dependencies, with a test. Tenants get it when their devkit pin moves; OPW's pin bump follows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions