Release lifecycle
Release convention
- MAJOR version for major sxcm structural changes that lead to break the compatibility with previous version (ex: X.0.0)
- MINOR version for major functionality ehancement added in a backwards compatible manner (ex: 0.X.0)
- PATCH version for bug, security and functionnals updates, backwards compatible for continous delivery (ex: 0.0.X)
- PRE-RELEASE version for an unstable release that might not satisfy the intended compatibility requirements (ex: 0.0.0-beta)
- BUILD version to identify to differents build during release preparation (ex: 0.0.0-tag)
Major are based on the latest related minor release. Minor are based on the latest related patch release with an odd number are used for stable and releasable version. A even minor or patch number indicate a release not stable and releasable.
The CI chain will run integration test suite and promote to a stable release number the code if test are OK.
Examples
- major release :
1.8
to1
- minor release :
1.8.16
to1.8
- patch release :
1.9.3
is unstable,1.9.4
is stable - pre-release :
1.9.5
is unstable, prepare stable1.9.6
with1.9.6-alpha
- build release :
1.9.7+20200313144700
or1.9.7-alpha+20200313144700
Release rules
- Major releases defined by startx strategy (driven by technology improvments)
- Minor releases defined by openshift, startx's driven roadmap
- Patch releases defined by technical issues related to services
- pre-release defined as part of major and minor release lifecycle
- build release used only during dev, test, build CI operations