Howto release doc additions
code/release-bugfix.rst
-----------------------
o Howto create a release branch patch
howto/release/overview.rst
--------------------------
o Early writeup of release actions.
o Edits needed for both branch=release and branch=master
Change-Id: I34ecc54217b2f185f7737f3244fceb2a4ddf4c5d
diff --git a/howto/release/index.rst b/howto/release/index.rst
index 6fa5f55..a276db6 100644
--- a/howto/release/index.rst
+++ b/howto/release/index.rst
@@ -4,6 +4,7 @@
.. toctree::
:maxdepth: 1
+ overview
preparation
release-notes
diff --git a/howto/release/overview.rst b/howto/release/overview.rst
new file mode 100644
index 0000000..1977568
--- /dev/null
+++ b/howto/release/overview.rst
@@ -0,0 +1,59 @@
+Release overview (WIP)
+======================
+
+For a VOLTHA release several actions and patches are applied to each repository.
+Release also happens in a hierarchial manner due to dependencies.
+
+- Version string differs between branch=master and branch=voltha-2.12.
+- For ex repo:voltha-protos currently has:
+
+ - master=5.5.0
+ - voltha-2.12=5.4.11
+
+- For release create an initial baseline build to verify no pre-existing corruption or test failures are present.
+
+ - Baseline builds contain bulk cosmetic changes which may include:
+
+ - Copyright notice ending date change.
+ - Cosmetic comemnt changes in source.
+ - Syntax formatting (gofmt -s -e -w)
+
+ - Baseline builds may also remove suffixes like -dev from the VERSION file.
+
+- Now tag-branch or branch-tag the repo (depending on repository) for release.
+ A few things will need to happen:
+
+ - A few distinct sets of patches for each branch are created:
+
+ - Update VERSION string so master and voltha-2.12 patches cannot collide.
+
+ - branch=voltha-2.12 : VERSION = {max}.{min}+1.0
+ - branch=master : VERSION = {max+1}.{min}.0
+
+ - Update release branch .gitreview file:
+
+ - defaultbranch=voltha-2.12
+ - This will rebase/merge against the release branch rather than master.
+
+ - Update go.mod version strings to be appropriate for branch={voltha-2.12, master}
+
+NOTE
+
+::
+
+ One item that may be confusing. Baseline builds for release are independent
+ of tagging & branching so may be initiated in parallel. Generally release
+ tasks for a repository are performed in hierarchial order, release
+ repositories and obtain the final version string. Next continue onto
+ releasing repositories that depend on ones released earlier.
+
+ For ex, the release sequence for repo:voltha-go would be
+ 1) Release repo:votlha-protos
+ 2) Release repo:votlha-lib-go # Depends on voltha-protos
+ 3) Release repo:votlha-go # Depends on both.
+
+Todo
+----
+
+- Add document references to existing release pages.
+- Link to repo dependencies in howto/release/repositories