This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
releng:artifact_versioning [2015/11/05 13:55] Fatih Degirmenci |
releng:artifact_versioning [2016/01/20 12:37] (current) Fatih Degirmenci [OPNFV Versioning Scheme] |
||
---|---|---|---|
Line 5: | Line 5: | ||
The artifacts that are produced are including but not limited to | The artifacts that are produced are including but not limited to | ||
* ISO: Produced by Installer Projects to be used for installing OPNFV. | * ISO: Produced by Installer Projects to be used for installing OPNFV. | ||
+ | * RPMs and other packages: Produced by Feature Projects. | ||
* Docker Images: Produced by Test Projects to ease the testing. | * Docker Images: Produced by Test Projects to ease the testing. | ||
+ | * Documents: Produced by all projects. | ||
Only the released OPNFV artifacts were versioned for the Arno release. In order to track and record produced and used versions of artifacts, it is needed to apply versions to artifacts produced during development as well. | Only the released OPNFV artifacts were versioned for the Arno release. In order to track and record produced and used versions of artifacts, it is needed to apply versions to artifacts produced during development as well. | ||
Line 11: | Line 13: | ||
====== OPNFV Versioning Scheme ====== | ====== OPNFV Versioning Scheme ====== | ||
- | OPNFV uses versioning scheme similar to [[http://semver.org/ | Semantic Versioning]] to version released artifacts as shown below. | + | OPNFV uses[[http://semver.org/ | Semantic Versioning]] to version released artifacts as shown below. |
- | <release_name>.<release_year>.<minor>.<patch> | + | |
- | + | ||
- | For example for Arno release, the artifacts are versioned like below | + | |
- | R1: arno.2015.1.0 | + | |
- | SR1: arno.2015.2.0 | + | |
- | After discussions, there has been a consensus to drop the year from the versioning scheme since it doesn't add value. The latest versioning scheme then becomes like below | + | |
<release_name>.<minor>.<patch> | <release_name>.<minor>.<patch> | ||
This essentially becomes | This essentially becomes | ||
+ | |||
<major>.<minor>.<patch> = <release_name>.<minor>.<patch> | <major>.<minor>.<patch> = <release_name>.<minor>.<patch> | ||
+ | | ||
+ | For example for Brahmaputra release, the released artifacts will be versioned like below | ||
+ | |||
+ | R1: brahmaputra.1.0 | ||
+ | SR1: brahmaputra.2.0 | ||
- | ====== Artifact Versioning Proposal ====== | + | ====== Details of Artifact Versioning ====== |
The proposal to step version numbers as below: | The proposal to step version numbers as below: | ||
Line 31: | Line 34: | ||
- Major version: Stepped when the current OPNFV release is branched off and development work for upcoming release is started on master branch | - Major version: Stepped when the current OPNFV release is branched off and development work for upcoming release is started on master branch | ||
- | Based on above proposal, an example scenario for Brahmaputra and C-River releases can be seen on below diagram. | + | An example scenario for Brahmaputra and C-River releases can be seen on below diagram. |
{{:releng:opnfv_versioning.png|}} | {{:releng:opnfv_versioning.png|}} |