This is Devora’s continuous integration automation specification. Devora uses ZORALab’s Fennec Project to execute its GitLab CI automation. Hence, most of the deployment complies to Devora specifications.
The update is rolling out progressively. That being said, we will not branch and backport updates based on tags.
Each future tags without major number
0.X.X should not break the previous
one. Even if it does, it should have a backward compatible implementation or a
procedure such as deprecation approach to upgrade gracefully.
Devora tag system follows semantic versioning with
v. The pattern is:
- major number indicates backward incompatible changes, possibly breaking things.
- minor number indicates backward compatible changes, an update to the previous version.
- patch number indicates small changes like bug fixes, security releases or documentation updates.
- The major number 0.X.X indicates project is still under development, hence, any crazy things may happen in between.
This full tag name only happens on
master branch. Example:
Tags with tailing
+ is reserved for packaging releases. Example:
Tag with tailing
- is reserved for package testing releases (e.g.
release candidates). This only happens on
staging branch. Example:
Devora has to use the 3 branches manangement mainly because of the multiple deployment across different repositories and also, allows designers and developers to have a slightly more freedom to perform their development without worrying that they damage the main product line. Devora follows theese 3 main branching system.
This branch is known as the main product line. It is protected and
recognized as the final product with tagging version starting with
staging branch is allowed to merge into
master branch and there
SHOULD NOT have any development onto this branch.
This branch is known as the next product release. It holds all the commit
patches for the next releases and is currently under final product testing.
It should carries the same commit timeline as
master branch and holding
the future commits to be merged into it.
ONLY maintainers are allowed to commit and cherry-pick commit patches into this branch.
This branch is known as the edge. It contains all the latest and greatest development. Any contributors can contribute here.
As for the website publishing, it is tracked under this branch for documentation flexibility without triggering a minor release.