Changes between Version 49 and Version 50 of SysAdmin/ReleaseProcess


Ignore:
Timestamp:
03/11/16 17:07:03 (6 years ago)
Author:
Fran Boon
Comment:

Proposal for new Release Process

Legend:

Unmodified
Added
Removed
Modified
  • SysAdmin/ReleaseProcess

    v49 v50  
    22[[TOC]]
    33
     4We plan to make release versions of Eden.
     5
     6This will entail:
     7* Creating a QA branch
     8 - features have final integration testing done here before being pushed to the Stable branch
     9* Creating a Stable branch
     10 - deployments should be done from this branch
     11* Adding Tags to Releases
     12* Building upgrade scripts
     13
     14== Tagging ==
     15Tags will be added based on the following schema:
     16{{{
     17[BranchName]-[Major].[Minor].[Sub]
     18}}}
     19The VERSION string will include the Tag + the number of commits since the last tag + the hash of the commit
     20
     21The Major release number will only change if we:
     22* change the API in backward-incompatible ways
     23* release a new trunk
     24
     25The Minor release number indicates the normal release.
     26[[BR]]These will often require an update script
     27
     28The Sub release number indicates an update to the release.
     29Sub-releases can introduce new features, but they would normally not:
     30- replace feature sets
     31- remove feature sets
     32- fundamentally change the logic/semantics of a feature set
     33Sub-releases may still require an upgrade script
     34
     35Git docs on Tags:
     36* https://git-scm.com/book/en/v2/Git-Basics-Tagging
     37
     38=== Branch Tags ===
     39If a Branch of the code is made on GitHub to manage releasesfor a deployment, then it's version will be appended to that of the Stable branch, so
     40{{{
     41[BranchName]-[Major].[Minor].[Sub]-[BranchRelease].[Sub]
     42}}}
     43
     44== Upgrade Scripts ==
     45For every update that requires it, an Upgrade script will be added to:
     46{{{
     47eden/static/scripts/upgrade/1.a.b-1.a.c.py
     48}}}
     49The 'pull' script will be modified to call this script automatically
     50
     51=== Template Upgrade Scripts ===
     52If there are template-specific changes for an update then these will be found in:
     53{{{
     54eden/modules/templates/TEMPLATE/upgrade/1.a.b-1.a.c.py
     55}}}
     56This will be checked for automatically by the 'pull' script
     57
     58=== Branch Upgrade Scripts ===
     59Typically a Branch will be using a custom Template (even if this is a thin layer on top of other templates).
     60
     61Branch upgrade scripts will therefore be in:
     62{{{
     63eden/modules/templates/TEMPLATE/upgrade/1.a.b_d.e-1.a.b_d.e.py
     64or
     65eden/modules/templates/TEMPLATE/upgrade/1.a.b_d.e-1.a.c_d.e.py
     66}}}
     67This will be checked for automatically by the 'pull' script.
     68
     69If there is no branch-specific upgrade script yet there is one for the underlying stable upgrade then the pull script should detect this & allow the user to run this instead of nothing or bail & revert.
     70
     71== Old Info ==
    472When making a Stable Branch from which to build releases, we need to do these tasks:
    573
     
    76144 * Reboot VPS (free up resources for improved performance)
    77145
    78 === Ideas ===
     146=== See Also ===
    79147 * [http://systers.org/systers-dev/doku.php/svaksha:release_management_notes Systers release process]
    80148 * [http://www.youtube.com/watch?v=i7pkyDUX5uM OpenBSD release process]