User Tools

Site Tools


releng:artifact_versioning

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
releng:artifact_versioning [2015/11/04 11:35]
Fatih Degirmenci [Applying Tags to Git Repo]
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>​+  
 +    <​release_name>​.<​minor>​.<​patch>​
  
-In OPNFV context, <​release_name>​.<​release_year>​ corresponds to major version in Semantic Versioning, ​essentially ​becoming ​+This essentially ​becomes
  
-    <​major>​.<​minor>​.<​patch>​ = <​release_name.release_year>​.<​minor>​.<​patch>​+    <​major>​.<​minor>​.<​patch>​ = <​release_name>​.<​minor>​.<​patch>​ 
 +     
 +For example for Brahmaputra release, the released artifacts will be versioned like below
  
-For example for Arno release, the artifacts are versioned like below +    ​R1: brahmaputra.1.0 
-    ​R1: arno.2015.1.0 +    SR1: brahmaputra.2.0        
-    SR1: arno.2015.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 30: 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?1600|}}+{{:​releng:​opnfv_versioning.png|}}
  
   * **Brahmaputra development:​** patch version is stepped for each and every artifact produced   * **Brahmaputra development:​** patch version is stepped for each and every artifact produced
-    * brahmaputra.2016.0.1 <- first artifact that is built from the master branch +    * brahmaputra.0.1 <- first artifact that is built from the master branch 
-    * brahmaputra.2016.0.2 +    * brahmaputra.0.2 
-    * brahmaputra.2016.0.3+    * brahmaputra.0.3
     * ...     * ...
-    * brahmaputra.2016.0.X <- release candidate is built from the stable/​brahmaputra branch+    * brahmaputra.0.X <- release candidate is built from the stable/​brahmaputra branch
   * **Brahmaputra release:** patch version is reset to 0 and minor version is stepped.   * **Brahmaputra release:** patch version is reset to 0 and minor version is stepped.
-    * brahmaputra.2016.1.0 <- released version from the stable/​brahmaputra branch+    * brahmaputra.1.0 <- released version from the stable/​brahmaputra branch
   * **Brahpamutra bugfixes:** patch version is stepped for each and every artifact produced   * **Brahpamutra bugfixes:** patch version is stepped for each and every artifact produced
-    * brahmaputra.2016.1.1 <- first artifact on the stable/​brahmaputra branch +    * brahmaputra.1.1 <- first artifact on the stable/​brahmaputra branch 
-    * brahmaputra.2016.1.2 +    * brahmaputra.1.2 
-    * brahmaputra.2016.1.3+    * brahmaputra.1.3
     * ...     * ...
-    * brahmaputra.2016.1.Y <- release candidate+    * brahmaputra.1.Y <- release candidate
   * **Brahmaputra stable release:** patch version is reset to 0 and minor version is stepped.   * **Brahmaputra stable release:** patch version is reset to 0 and minor version is stepped.
-    * brahmaputra.2016.2.0 <- released version+    * brahmaputra.2.0 <- released version
   * **C-River development:​** major, minor and patch versions are reset accordingly once the stable/​brahmaputra is branched off   * **C-River development:​** major, minor and patch versions are reset accordingly once the stable/​brahmaputra is branched off
-    * criver.2016.0.1 <- first artifact on the master branch for the criver release+    * criver.0.1 <- first artifact on the master branch for the criver release
  
 Please note that functionality/​NBC changes have not been taken into account for the above scenario. Please note that functionality/​NBC changes have not been taken into account for the above scenario.
releng/artifact_versioning.1446636951.txt.gz · Last modified: 2015/11/04 11:35 by Fatih Degirmenci