Skip to main content

odoo-version-manager

Manages Odoo modules across multiple version branches (11.0–20.0). Changes on the root version branch are automatically deployed to all other branches via GitHub Actions + rebase.

There is no main branch — the versioned branch (e.g. 16.0) is the direct source of truth. The branch chain looks like this:

11.0 ← 12.0 ← ... ← 16.0 (root) ← 17.0 ← ... ← 20.0

installing

pipx install odoo-version-manager
odoo-version-manager install-completion

usage

initial setup

  • create a repository with your modules on the root version branch (e.g. 16.0)
  • define which version is the root:
mkdir -p .github
echo 16.0 > .github/version_behind_main_branch
odoo-version-manager setup

setup takes an optional runner label for the generated github workflow (self-hosted or ubuntu-latest, default: ubuntu-latest). It is stored persistently in the settings file:

odoo-version-manager setup self-hosted

settings file

Settings are stored per repository in .github/odoo-version-manager.settings.json (created automatically on first run):

{"runs_on": "ubuntu-latest"}
  • runs_on: runner label used in the generated deploy workflow. Use self-hosted if the SSH_PRIVATE_KEY secret should never leave your own infrastructure.

The generated workflow requires the repository secret SSH_PRIVATE_KEY to push to the version branches.

upgrade root version

If you want to move the root version from 16.0 to 18.0:

git checkout 18.0
echo 18.0 > .github/version_behind_main_branch
odoo-version-manager setup

rebase all branches

If there are merge conflicts you must manually help the branches to pass their new commits from one to the other. It is advised to use the -r option to reduce the commits from one branch to the other to make it easier the next time to resolve merge conflicts.

odoo-version-manager rebase -r

existing main branch

If a main branch still exists in the repository, the tool will refuse to run and display instructions on how to delete it. A main branch is no longer used and causes confusion.

Metadata

Release files for odoo-version-manager 0.0.29

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odoo-version-manager 0.0.29
File Size Uploaded
odoo_version_manager-0.0.29.tar.gz 19.6 kB Details

Release files / odoo_version_manager-0.0.29.tar.gz

Download URL odoo_version_manager-0.0.29.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a17e1f8f40cc2b7d2a647209098e1597c33554232fa410a14cb44a195ee15eb4
BLAKE2b-256 checksum
How to use checksums
e4879ee84012d022c23a3cdebe4c220b65aadf7133e6914e35cd643c9019b17b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.0.29 This release

1 release file

0.0.28

1 release file

0.0.27

1 release file

0.0.26

1 release file

0.0.25

1 release file

0.0.24

1 release file

0.0.23

1 release file

0.0.22

1 release file

0.0.21

1 release file

0.0.20

1 release file

0.0.19

1 release file

0.0.18

1 release file

0.0.17

1 release file

0.0.16

1 release file

0.0.15

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page