View source | Discuss this page | Page history | Printable version   

Release Policy Modules

Contents

Modules release cycle

This apply to all modules maintained or that will be maintained by engineering team.

Release dates

Bulbgraph.png   Modules has same release dates than erp

Modules release process

This apply to all modules.

Create new module

Introduction to modularity and how to create and package a module

Naming rules

Naming guidelines for modules

How to publish and maturity status

How to publish a Module and maturity status

Base language of a module

Bulbgraph.png   Use en_US for the base language of the module

Although is allowed that a module has a different base language of English, we strongly recommend use of English.

Internally for openbravo staff is mandatory to use English.

Exception: localization modules don't need to follow this rule.

License

Licensed under the Openbravo Public License Version 1.1.
You may obtain a copy of the License at http://www.openbravo.com/legal/license.html or in the legal folder of the Openbravo ERP core distribution.
Licensed under the Openbravo Commercial License version 1.0
You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html or in the legal folder of this module distribution.

Publish new version

Version numbering

Bulbgraph.png   As general rule never touch the major version !!!

Increase the major version needs a justification since, it means that breaks the compatibility with all the dependent modules.

So if it is not really needed do not increase the major version.

A typical case when is needed to increase the major version, is when adding a new dependency. Example: module A depends on module B, both already published; then if added to A a dependency to C, when publishing in the forge the new version of A, it will only allow it if is a new major version.

The minor version should be increased by 100 in each release, so there is free numbers if needed to publish an emergency release.

Dependencies

Tag policy

Bulbgraph.png   Always a tag for each version published !!
Bulbgraph.png   The tag content must always perfectly match the published obx content

The name of the tag should be the version number of the module.

Example:

hg tag 1.2.345   # note only the version, without any text

Heads policy

Bulbgraph.png   As general rule never create a new head, if you think you need one check first with rm

As general rule never needed to create a new named branch in the repository.

The current heads is for separate erp 2.50 and 3.0 versions of the modules, so for new modules no need of new heads.

If you found that you need a branch for a module try first if can be managed with a cloned repo of the module, if not check with rm before create a new branch (named head).

Tests

Api changes

Bulbgraph.png   As general rule never do an api change !!

Right now there is not yet implemented an api for modules, but take into account that other modules that depend on your module maybe are using your functions and db objects, so each time that change these things can break the dependant modules.

Guide of API Changes in the ERP

When doing an api change in the erp this could break a module, there is available a tarball with all the modules Decide how to manage, if possible fix the modules if not notify the owners

Checklist of steps for publish a new version

Emergency releases

For the moment there is no policy about emergencies releases of modules, but handle each case as it appear.

We assume that will be cases when hot fix has to be released, and then we will be publish a new version of the module, earlier than the normal release cycle define (similar to the emergency updates for the erp or retail).

When the repo has commits that should not be included in the emergency release

In this case you can:


FAQ

To which modules applies this policy

This apply to all modules maintained or that will be maintained by engineering team, and the next publish of any of these modules must follow this policy.

Retrieved from "http://wiki.openbravo.com/wiki/Release_Policy_Modules"

This page has been accessed 2,745 times. This page was last modified on 28 May 2019, at 09:26. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.