Versioning

Version and branch conventions followed in OpenG2P

In general, OpenG2P follows Semantic Versioning 2.0. However, there are exceptions concerning Oodo modules which follow Odoo Versioning.

Versioning conventions for artifacts

ArtifactsVersioning

Helm Charts

Semantic Versioning 2.0. See more details here.

Dockers

Git repositories

As per guidelines given here.

Odoo modules

Non-Odoo modules

Git repository versioning

All repositories have a running develop , main or master branch which contains latest development code. To release a specific version a branch like 1.2 may be created and further development on this branch is controlled and typically restricted to only bug fixes. On branch 1.2 Git tags may be created. These tags must necessarily follow 3 digit version like v1.2.4. Note that a Git tag always has the v prefix. For Odoo repositories, the Odoo version is prefixed on the branch name. Example 17.0-develop, 17.0-1.2. However, the Git tag does not contain this prefix - the same will still be v1.2.5 for example.

Frozen versions

A version of any artifact (like a Helm chart, docker, git repository etc.) is considered "frozen", or "tagged', or "pegged" if all the components, and source code inside that artifact is frozen -- there are no moving versions like "develop". Thus, a frozen version allows tracing to exact versions of code at the lower most level. Therefore, a frozen version artifact may be exactly recreated if required.

A 3 digit version is deemed frozen if it does not have any other suffixes like -develop or -alpha etc. Conversely, any version which is not 3 digit or has a suffix, cannot be considered a frozen version -- the version may have parts that are moving.

EXCEPTION: In case of sub modules within a repository (Odoo modules in Odoo repositories, and FastAPI modules in other repositories), we are not maintaining the sub module version as it requires high maintenance effort to increment the version numbers in the manifest files of these modules. The version number may indicate a version on the branch but it is advised to trace the exact code based on repository tag.

Here are some examples to illustrate the same:

ArtifactVersionInterpretation

Git repository

v1.2.0

This is Git tag (not branch) and is frozen as tags are generally not moved

Git repository

1.2

A moving branch

Git repository

1.2.0

A branch created temporarily only to tag a version

Odoo module

17.0.1.2.0

On branch 17.0-1.2, but may be moving. See note above

Docker

1.2.0

Frozen package

Docker

1.2

Moving version

Docker

1.2-develop

Moving version

Helm chart

0.0.0-develop

Moving version - latest in develop branch

Helm chart

1.2.3

Frozen package

Last updated

Logo

Copyright © 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.