Release Management/Continuous Integration Retail
Contents |
Introduction
Right now there is an integration for the ERP : https://ci.openbravo.com
Now the idea is to add something similar for Retail.
General approach
The current approach is to do an integration of the erp and retail together.
That's means to duplicate all the current erp tests, and run them with the retail modules installed.
Also will be needed to add all the specific retail tests.
And finally remove the tests that provides no benefit to run twice in erp and retail, and left only one of them.
Repositories
Currently there is a pi and main for erp, and a repository for each retail module.
The idea is to create a pi and main for each retail module.
Optionally can be merged all retail modules in one or many repositorys, but these has some problems:
- There are some modules that maybe makes no sense to put inside the retail repository since it has different release cycle or can be installed without retail pack.
- If only one repo, probably needed to do the clone outside of the erp clone, and then create links to each module.
Integration trigger
A commit in any of the pi modules of retail or the pi of the erp, will trigger a new integration.
Integration failures
A failure in any of the tests of retail or erp will block that commit to reach its respective main.
If a commit of retail breaks a test, till it is fixed will not be an integration for the erp, and viceversa if a erp commit breaks the integration there will not be any retail integration.
Integration results
Currently in the erp integration after pass all the tests the erp obx's are published in test status and the code is promoted to main with the commit that increase the module version, and merge this changes into pi.
The idea is to maintain that for the erp, and also add the same for retail.