Enhance Submitting Code section
overview/contributing.rst
overview/contributing/code_review.rst
overview/contributing/copyright.rst
overview/contributing/jira_tickets.rst
howto/code/commit-message.rst
howto/code/pull_request.rst
--------------------------------------
- Document a few items that surfaced in code reviews this morning.
- Add more links to existing documentation.
howto/release/repositories/pod-configs/
howto/release/repositories/voltha-onos/release.rst
howto/release/repositories/voltha-onos/todo.rst
--------------------------------------------------
- Create skeleton directories for documenting release items needed.
- Submitted as part of an earlier patch but included here for good measure.
Change-Id: Ibe118570bdf19ced1d06d6e9efb10fd1419f82ef
diff --git a/VERSION b/VERSION
index 11da16c..7eeb432 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.5.4-dev
+2.12.5.5-dev
diff --git a/conf.py b/conf.py
index e98cf61..3f9d075 100644
--- a/conf.py
+++ b/conf.py
@@ -65,6 +65,7 @@
'sphinx.ext.extlinks',
'sphinx.ext.graphviz',
'sphinx.ext.ifconfig',
+# 'sphinx.ext.intersphinx', # :doc:`my document <../my_doc{.rst}>`
'sphinx.ext.mathjax',
'sphinx.ext.todo',
'sphinxcontrib.spelling',
diff --git a/howto/code/commit-message.rst b/howto/code/commit-message.rst
index f18f8b3..e4d18a8 100644
--- a/howto/code/commit-message.rst
+++ b/howto/code/commit-message.rst
@@ -6,11 +6,15 @@
- First line in a commit message is special.
- 50 cpl max to avoid complaints about length.
- Mention a jira ticket (VOL-xxxx) and the ticket will receive status updates from jenkins.
+- Additional jira ticket dependencies can be listed on line 3+
.. code:: bash
[VOL-5048] - Build and deploy for VOLTHA v2.12 release.
+ [VOL-5049]
+ [VOL-5050]
+
api/pom.xml
app/pom.xml
pom.xml
diff --git a/howto/code/pull_request.rst b/howto/code/pull_request.rst
index f3c1c58..b02b992 100644
--- a/howto/code/pull_request.rst
+++ b/howto/code/pull_request.rst
@@ -9,6 +9,8 @@
:ref:`Commit message syntax <pull-request--commit-message>`
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+- `Working url (branch=master fallback) <https://docs.voltha.org/master/howto/code/commit-message.html#pull-request-commit-message>`_
+
Job directives: recheck
-----------------------
@@ -18,7 +20,34 @@
- Visit gerrit: https://gerrit.opencord.org/c/bbsim/+/34384
- Click the pencil icon in the top left by reviewers.
-- Comment/description text: recheck
+- Comment/description text: ``recheck``
It may take a little while to run dependent on queue size but this token will
initiate re-running job phases for a patch.
+
+Code Review Request
+-------------------
+
+A code review can be requested in two ways, interactively when a patch is
+created or from the gerrit UI. Item of note, gerrit will also automatically
+assign reviewers based on volume of commits to an individual repository so
+you may have reviewers w/o explicitly requesting one.
+
+Interactively using git
+-----------------------
+
+- Create a patch, rebase/merge as needed.
+- git review to create a pull request.
+
+ - From the command line, include argument --reviewers
+ - git review --reviewers tux@onf.org foo@onf.org bar@onf.org
+ - People will be notified via email about the review request.
+
+Manually add reviewers at a later date
+--------------------------------------
+
+- `Naviagate to your patch in gerrit <https://gerrit.opencord.org/c/bbsim/+/34384>`_
+- Click the pencil icon in the top left by reviewers.
+- Add community members to request a review.
+
+
diff --git a/howto/release/repositories/index.rst b/howto/release/repositories/index.rst
index 1b9ac3e..3a9a91e 100644
--- a/howto/release/repositories/index.rst
+++ b/howto/release/repositories/index.rst
@@ -11,3 +11,10 @@
voltha-lib-go/index
voltha-onos/index
voltha-protos/index
+ voltha-openolt-adapter/index
+ voltha-helm-charts/index
+ voltctl/index
+ bbsim/index
+ openolt/index
+ pod-configs/index
+ pod-cofnigs/index
diff --git a/howto/release/repositories/pod-configs/index.rst b/howto/release/repositories/pod-configs/index.rst
new file mode 100644
index 0000000..952183a
--- /dev/null
+++ b/howto/release/repositories/pod-configs/index.rst
@@ -0,0 +1,7 @@
+Repository: pod-configs
+=======================
+
+.. toctree::
+ :maxdepth: 1
+
+ release
diff --git a/howto/release/repositories/pod-configs/release.rst b/howto/release/repositories/pod-configs/release.rst
new file mode 100644
index 0000000..0b0d4ad
--- /dev/null
+++ b/howto/release/repositories/pod-configs/release.rst
@@ -0,0 +1,82 @@
+Repository: pod-configs
+=======================
+
+- NO VERSION FILE
+- Tag and branch repositories (order is important)
+- Update .gitreview, set defaultbranch=voltha-2.12-beta for commits
+- Update VERSION file to prevent future conflicts.
+
+
+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
+ - Update defaultbranch= in .gitreview
+ - commit and merge
+
diff --git a/howto/release/repositories/voltha-onos/index.rst b/howto/release/repositories/voltha-onos/index.rst
index 73d3db8..0553034 100644
--- a/howto/release/repositories/voltha-onos/index.rst
+++ b/howto/release/repositories/voltha-onos/index.rst
@@ -1,12 +1,9 @@
Repository: voltha-onos
=======================
-- make sterile distclean
-- find . ! -path './vendor/*' -name '*.go' -print0 | xargs -0 gofmt -s -w
-- make mod-update
-- make lint
-- make help
+.. toctree::
+ :maxdepth: 1
-Charts
-------
- o voltha-helm-charts/voltha-infra/values.yaml
+ release
+ dependencies
+ todo
diff --git a/howto/release/repositories/voltha-onos/release.rst b/howto/release/repositories/voltha-onos/release.rst
new file mode 100644
index 0000000..2ee8af6
--- /dev/null
+++ b/howto/release/repositories/voltha-onos/release.rst
@@ -0,0 +1,92 @@
+Release: voltha-onos
+====================
+
+- Tag and branch repositories (order is important)
+- Update .gitreview, set defaultbranch=voltha-2.12-beta for commits
+- Update VERSION file to prevent future conflicts.
+
+
+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: .gitreview for release branch=voltha-2.12
+
+ grep -v 'defaultbranch=' .gitreview > .gitreview.tmp
+ echo "defaultbranch=voltha-2.12" >> .gitreview.tmp
+ mv -f .gitreview.tmp .gitreview
+
+
+.gitreview
+----------
+
+.. code-block:: shell-session
+ :caption: .gitreview for release branch=master
+
+ grep -v 'defaultbranch' .gitreview > .gitreview.tmp
+ echo "defaultbranch=master" >> .gitreview.tmp
+ mv -f .gitreview.tmp .gitreview
+
+
+VERSION File
+^^^^^^^^^^^^
+
+Minor release version number must be incremented to prevent future conflicts
+with the patch branch. When version file contains either 1.2.1 or 1.2.1-dev:
+
+- branch=main VERSION=1.2.3-dev
+
+ - Update VERSION to contain 1.2.4 or 1.3.0
+ - commit and merge
+
+- branch=voltha-2.12 VERSION=1.2.2
+
+ - Update release / bug fix branch
+ - commit and merge
diff --git a/howto/release/repositories/voltha-onos/todo.rst b/howto/release/repositories/voltha-onos/todo.rst
new file mode 100644
index 0000000..73d3db8
--- /dev/null
+++ b/howto/release/repositories/voltha-onos/todo.rst
@@ -0,0 +1,12 @@
+Repository: voltha-onos
+=======================
+
+- make sterile distclean
+- find . ! -path './vendor/*' -name '*.go' -print0 | xargs -0 gofmt -s -w
+- make mod-update
+- make lint
+- make help
+
+Charts
+------
+ o voltha-helm-charts/voltha-infra/values.yaml
diff --git a/overview/contributing.rst b/overview/contributing.rst
index 4b892d8..768b878 100644
--- a/overview/contributing.rst
+++ b/overview/contributing.rst
@@ -30,12 +30,19 @@
Some additional points for developers:
- - Submit your changes early and often. Code and design review input
- with corrections early in the process prevent huge changes later.
- - Please open a `jira ticket <https://jira.opencord.org/projects/VOL>`_ describing the issue/feature.
- - While checking in changes please preface the commit message with
- `[VOL-<jira_number]` e.g. `[VOL-4550]` to automatically link changesets,
- jenkins jobs, etc making them self-documenting for discussions.
+- Submit your changes early and often. Code and design review input
+ with corrections early in the process prevent huge changes later.
+- :doc:`Create a Jira ticket for code changes <contributing/jira_tickets>` (required)
+- :doc:`Update copyright notices <contributing/copyright>`
+- `Commit message <https://docs.voltha.org/master/howto/code/commit-message.html#pull-request-commit-message>`_ and jenkins automation.
+
+ - To enable automation, prefix your commit message with a jira ticket
+
+ - ``[VOL-4550]`` - Spiffy enhancement/feature/problem summary
+
+ - This addition will allow jenkins to magically update tickets
+ with processed job status.
+- :doc:`Request a code review <contributing/code_review>`
Steps to successful PRs
+++++++++++++++++++++++
diff --git a/overview/contributing/code_review.rst b/overview/contributing/code_review.rst
new file mode 100644
index 0000000..3727a53
--- /dev/null
+++ b/overview/contributing/code_review.rst
@@ -0,0 +1,12 @@
+Request a code review
+=====================
+
+- `Code Reviews <https://docs.voltha.org/master/howto/code/pull_request.html#development-and-code-reviews>`_
+- :doc:`Code review request <../../howto/code/pull_request>` (:doc: token syntax problem)
+
+See Also
+--------
+
+- `Development resources <https://docs.voltha.org/master/howto/code/index.html>`_
+- `Commit message syntax <https://docs.voltha.org/master/howto/code/commit-message.html>`_
+
diff --git a/overview/contributing/copyright.rst b/overview/contributing/copyright.rst
new file mode 100644
index 0000000..ba3f77a
--- /dev/null
+++ b/overview/contributing/copyright.rst
@@ -0,0 +1,17 @@
+Copyright Notice
+================
+
+Include a copyright notice with all submissions to ONF repositoreis.
+
+- ``Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors``
+- NOTE: Range values such as -present are not legally binding
+
+ - Copyright notice should be dated to the last year sources were modified.
+
+See Also
+--------
+
+- `Copyright notices <https://github.com/joey-onf/copyright>`_
+- `Message syntax <https://github.com/joey-onf/copyright/blob/origin/master/notice>`_
+- `ONF CLA Information <https://wiki.opennetworking.org/display/COM/ONF+CLA+Information>`_
+- `Contributing License Agreement Manager <https://cla.opennetworking.org/>`_
diff --git a/overview/contributing/jira_tickets.rst b/overview/contributing/jira_tickets.rst
new file mode 100644
index 0000000..d7fd3d9
--- /dev/null
+++ b/overview/contributing/jira_tickets.rst
@@ -0,0 +1,33 @@
+Jira tickets for code changes
+=============================
+
+Please open a `jira ticket <https://jira.opencord.org/projects/VOL>`_ describing the issue/feature.
+
+- For large or multi-part features create a containing ticket with several
+ sub-tickets tracking individual features or problems.
+- Descripton - include relevant information
+
+ - Error messages
+ - Reproduction step(s) for problems
+ - Web URLs, links to jenkins job logs are very helpful.
+
+ - Note: Jenkins job logs will age out and disappear over time.
+ - To prevent this view the job history panel in jenkins UI
+
+ - Two links are available in history, colored icon on the left and #job on the right.
+ - Click the #job link to view job.
+ - Top right corner will contain a clickable button "Keep this build forever".
+ - Just remember to clear this attribute after the jira ticket is closed.
+
+- Assign field ``Fix Version/s:`` VOLTHA-X.Y
+
+ - This will enables searching for feature by release.
+ - Leveraged during release to document fixes and enhancements in release notes.
+- While viewing a jira ticket, the 'More' navigation pulldown menu at the top
+ is useful for creating sub tickets or creating links to external resources.
+
+See Also
+--------
+
+- https://jira.opencord.org
+- `jira :: VOLTHA <https://jira.opencord.org/projects/VOL/issues/VOL-4470?filter=allopenissuse>`_