Repository: voltha-lib-go
=========================

- Tag and branch repositories (order is important)
- Update .gitreview, set defaultbranch=voltha-2.12 for commits
- Update VERSION file to prevent future conflicts: {major}.{minor+1}.0


Release branching and tagging
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Releasing repository voltha-lib-go requires tag-then-release branching,
first create a versioned tag 2.12.0-beta then create branch voltha-2.12-beta
from the release tag.

Repository tag names differ based on repository, golang repositories
use tags with the prefix vee v1.2.3, v2.45.0

.. code-block:: shell-session
   :caption: First create a release tag

   # Determine repository tagname convention (with/with-out vee)
   git clone "ssh://gerrit.opencord.org:29418/${repo_name}.git"
   git tag --list-tags

   # ---------------------------
   # Step 1 create a release tag
   # ---------------------------
   local branch_name='voltha-2.12-beta'
   local tag_name='v2.12.0-beta'

   git tag -a "$tag_name" -m "${branch_name} release"
   git push origin "$tag_name"

.. code-block:: shell-session
   :caption: Create a release branch attached to the release tag

   # ------------------------------------------------------------
   # Step 2 - create a release branch attached to the release tag
   # ------------------------------------------------------------
   local branch_name='voltha-2.12-beta'
   local tag_name='v2.12.0-beta'
   local repo_name='voltha-lib-go'

   git clone "ssh://gerrit.opencord.org:29418/${repo_name}.git"
   git fetch --all --tags

   git checkout -b "$branch_name" "tags/tag_name"
   git push origin "$branch_name" "tags/$tag_name"

See Also
--------
https://docs.voltha.org/master/release_notes/release_process.html


.gitreview
----------

.. code-block:: shell-session
   :caption: Create a release branch attached to the release tag

   grep -v 'defaultbranch' .gitreview > .gitreview.tmp
   echo "defaultbranch=voltha-2.12-beta" >> .gitreview.tmp
   mv -f .gitreview.tmp .gitreview


VERSION File
^^^^^^^^^^^^

Minor release version number must be incremented to prevent future conflicts
with the patch branch.

- branch=main VERSION=1.2.3

  - Update VERSION to contain 1.2.4 or 1.3.0
  - commit and merge

  - Update VERSION file/patch branch to contain 1.2.3.1
  - commit and merge


Patch creation on release branch
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Note: Devs should create a dev branch for merging rather than manipulating
the release branch directly as these instructions will.

- git checkout -b voltha-2.12 tags/v2.12.0
- git pull --ff-only origin voltha-2.12
- git rebase -i voltha-2.12
- git diff --name-only votlha-2.12 2>&1 | less
- git review --reviewers foo@foo bar@bar

Patch creation on release branch
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

`docs.voltha.org - create the initial release <https://docs.voltha.org/master/release_notes/release_process.html#creating-the-initial-release>`_

- git clone ssh://gerrit.opencord.org:29418/voltha-protos.git
- git checkout -b dev_tux
- Edit VERSION file, increment and suffix a -dev modifier

  - VERSION file contains 5.4.3
  - Increment and commit 5.4.4-dev
