Skip to content

Release strategy

Eugenio Romano edited this page Jun 17, 2019 · 8 revisions

Release strategy

ADF project uses the semantic versioning in combination of tags. ADF Continuous delivery (CD) release:

  • Monthly stable release changing the MINOR version so 1.5.0, 1.6.0 and so on
  • Weekly beta release using 1.6.0-beta1,1.6.0-beta2,1.6.0-beta3,1.6.0-beta4 and the NPM tag @beta (note how to download the beta packages is explained below)
  • PR alpha release using 1.6.0-ISH_KEY (ISH_KEY is the key of the git commit relative to the PR) and the NPM tag @alpha (note how to download the alpha packages is explained below)
@latest   o---------------------------------------------------------------o     Monthly     
          |                                                               |
@beta     o---------------o---------------o---------------o---------------o     Weekly                         
          |                                                               |
@alpha    o---o---o---o---o---o---o---o---o---o---o---o---o---o---o---o---o     Any PR accepted on development                         

Beta Version

Beta versions are created weekly

npm install NAME_PACKAGE@beta --save  

example:
                                                                      
npm install @alfresco/adf-core@beta --save  

Alpha Version

The alpha versions are created from any PR merged on development

npm install NAME_PACKAGE@alpha --save  

example:
                                                                         
npm install @alfresco/adf-core@alpha --save  

Cloned repository

If you downloaded our repository on your machine and you want to update the demo shell to the @alpha or @beta you can use the script :

Beta Version

./scripts/update-version.sh  -v 3.2.0-beta2
npm install

Alpha Version

./scripts/update-version.sh  -v 3.2.0-beta2
npm install

What are npm tags

Tags are a supplement to semver (e.g., 1.5.0) for organizing and labeling different versions of packages. In addition to being more human-readable, tags allow publishers to distribute their packages more effectively.