FAQ Release process
From Dolibarr Open Source ERP CRM Wiki
This page describe what is the build and release process of a new stable version of Dolibarr ERP CRM (manufacturing process or chaine de fabrication in french).
A new version is build following different steps:
A development period -> A freeze / beta period -> A final stable version (See page Category:RoadMap for definition of a Freeze / Beta version)
This is description of the 3 steps.
First step is development of software. Sources can be download from GitHub at https://github.com/Dolibarr/dolibarr
Any developer can download sources and work on his side using git and submit a request to ask to include his changes to the official sources.
See FAQ_Get,update_GIT_project_sources for more information on how to do this.
Each time a new request to include a change is submitted, Continuous Integration Tests are done before the change is validated.
Continuous integration Test are included into official sources into directory *tests*. They are run on the Travis platform and can be analyzed here: https://travis-ci.org/Dolibarr/dolibarr/
If a test fails, it will not be validated (see next step).
Validation of new changes
Only people with the grade *Dolibarr Yoda* can accept to include changes into official development sources. Permissions for this are granted on GitHub
See Dolibarr_Project#Developer_grade_Yoda_.28GIT_project_and_commit_leader.2C_head_release_manager.29 for list of people with this grade. A new Yoda will be chosed is granted permissions as soon as one of the current Yoda decide to retire.
When enough changes are included into version, and according to planning, the Dolibarr Yoda decide to start the beta. Starting from this point, no new features are added.
See page Category:RoadMap for standard planning of new versions and rules that define what kind of code can be modified or not during a beta period.
Generating the packages is done using the packaging tool makepack_dolibarr.pl. See next chapter for detailed operation done by this tool.
The packaging of final release
When beta period end (no more serious bugs are reported and opened), the Dolibarr Yoda decide to start the freeze of final version. The name of the version is define to a value X.Y.Z.
Note: Only the Dolibarr Yoda can has permissions to make this process.
- Firstly, final Unit Tests are run. If 1 test is wrong, process is stopped here and go back to beta phase.
Once all tests are ok, the following steps are done automatically using the packaging tool makepack_dolibarr.pl :
- The tool add a Tag that is the name of version (so X.Y.Z) on all files of the official source repository. So starting from now, all files for the dedicated version are known and won't change anymore.
- The tool generates the file filelist-X.Y.Z.xml than contains the list of files of the version with a MD5 signature and value of version.
- The tool send the signature file filelist-X.Y.Z.xml on the official Dolibarr server. This file can be read by any installed application to check the integrity of the version (even one byte modified will change the signature).
- The tool build all official distribution packages. Content of such packages match the content of the signature file since it is build during same process. The following packages are built:
- Package .zip (the main package)
- Package .tgz
- Autoinstaller Doliwamp .exe
- Autoinstaller for Debian/Ubuntu DoliDeb .deb
- Autoinstaller for Redhat, linuxmint, mandriva DoliRpm .rpm
- The tool upload the generated packaged into the official Dolibarr archive server to have them archived also in a binary form. This archives can be read from page https://www.dolibarr.org/files/stable/
- The tool upload the generated packaged into the mirror archive servers hosted at https://www.sourceforge.net. This is an mirror hosting, official reference remain the Dolibarr archive area hosted by the Dolibarr team so https://www.dolibarr.org/files/stable/.
- Starting from now, a new cycle can start. A new development period start from sources of the version.
Then the Dolibarr Yoda add 1 page (one page per version) onto the https://wiki.dolibarr.org to describe content of new version. This is the Release announcement. See page Category:RoadMap for list of past announcements.
At any time, from the menu System Tools / About Dolibarr / Check integrity, an admin user can check and validate integrity of its installed version compared to official reference. The tool calculate signature of each file and compare it with official signature. All removed and modified files are reported.
At any time, a developer can, from Github and using the Tag created at first step of release process, get all files of any stable version.