[VOL-5009] - Create a v2.12 release notes page.

overview/releases.rst
release_notes/index.rst
release_notes/voltha_2.12.rst
-----------------------------
  o Create a skeleton release notes area for v2.12

Change-Id: Ia74075131326e0254af236d9c9edbdf8f46fa430
diff --git a/.gitignore b/.gitignore
index 9e8406b..06371ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,7 @@
+# -*- makefile -*-
+
 # build related
+.venv/
 venv_docs
 doc_venv
 _build
@@ -27,3 +30,10 @@
 
 # OS
 .DS_Store
+
+# Logfiles
+log
+test-errors.*.log
+*.log
+
+# [EOF]
diff --git a/Makefile b/Makefile
index 0ae2243..7d76ccb 100644
--- a/Makefile
+++ b/Makefile
@@ -62,6 +62,7 @@
 
 ## -----------------------------------------------------------------------
 ## Intent: lint and link verification. linkcheck is part of sphinx
+## See Also: make test-errors
 ## -----------------------------------------------------------------------
 test: lint linkcheck
 
@@ -95,7 +96,7 @@
 	mdl -s $(LINT_STYLE) `find -L $(SOURCEDIR) ! -path "./_$(venv-activate-script)/*" ! -path "./_build/*" ! -path "./repos/*" ! -path "*vendor*" -name "*.md"`
 
 # clean up
-clean:
+clean ::
 	$(RM) -r $(BUILDDIR) $(OTHER_REPO_DOCS) $(STATIC_DOCS)
 
 clean-all sterile :: clean
@@ -182,12 +183,6 @@
  && $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
 
 ## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-BROWSER ?= $(error Usage: $(MAKE) $@ BROWSER=)
-view-html:
-	"$(BROWSER)" _build/html/index.html
-
-## -----------------------------------------------------------------------
 ## Intent: Display makefile target help
 ## -----------------------------------------------------------------------
 help :: $(venv-activate-script)
diff --git a/VERSION b/VERSION
index 371a952..b0c818e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.2
+2.12.3-dev
diff --git a/howto/release/ci-management/jjb_software_upgrades.rst b/howto/release/ci-management/jjb_software_upgrades.rst
index d26eb4a..6f37c27 100644
--- a/howto/release/ci-management/jjb_software_upgrades.rst
+++ b/howto/release/ci-management/jjb_software_upgrades.rst
@@ -11,7 +11,7 @@
 
 - Instead obtain snapshot version from pom.xml and type in the explicit URL path:
 
-  - `aaa-app/2.9.0-SNAPSHOT <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/2.9.0-SNAPSHOT/>`_
+  - `aaa-app/2.9.0-SNAPSHOT <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/>`_
 
   - `aaa.index <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app>`_
 
diff --git a/makefiles/consts.mk b/makefiles/consts.mk
index bac4362..8961b3a 100644
--- a/makefiles/consts.mk
+++ b/makefiles/consts.mk
@@ -17,6 +17,9 @@
 # SPDX-FileCopyrightText: 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
 # SPDX-License-Identifier: Apache-2.0
 # -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefile.version = 1.0
+# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
 
@@ -24,17 +27,25 @@
 export dot          :=.
 export null         :=#
 export space        := $(null) $(null)
-export quote-single := $(null)"$(null)#"
-export quote-double := $(null)'$(null)#'
+export quote-single := $(null)'$(null)#'
+export quote-double := $(null)"$(null)#"
 
 # [DEBUG] make {target} HIDE=
-HIDE        ?= @
+HIDE           ?= @
 
 env-clean      ?= /usr/bin/env --ignore-environment
 xargs-n1       := xargs -0 -t -n1 --no-run-if-empty
 xargs-n1-clean := $(env-clean) $(xargs-n1)
 
 ## -----------------------------------------------------------------------
+## Intent: NOP command for targets whose dependencies do all heavy lifting
+## -----------------------------------------------------------------------
+## usage: foo bar tans
+## <tab>$(nop-command)
+## -----------------------------------------------------------------------
+nop-cmd        := :
+
+## -----------------------------------------------------------------------
 ## Default shell:
 ##   o set -e            enable error checking
 ##   o set -u            report undefined errors
diff --git a/makefiles/help/include.mk b/makefiles/help/include.mk
index 3cca2cd..44c119a 100644
--- a/makefiles/help/include.mk
+++ b/makefiles/help/include.mk
@@ -30,7 +30,6 @@
 	@echo
 	@echo '[VIEW]'
 	@echo '  reload         Setup to auto-reload sphinx doc changes in browser'
-	@echo '  view-html      View generated documentation'
 	@echo
 	@echo '[TEST]'
 	@echo '  test           make lint linkcheck'
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 3042488..db96771 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -36,6 +36,9 @@
 include $(MAKEDIR)/patches/include.mk#    # Patch when python 3.10+ in use
 include $(ONF_MAKE)/help/variables.mk
 
+include $(ONF_MAKE)/targets/include.mk
+
+
 $(if $(DEBUG),$(warning LEAVE))
 
 # [EOF]
diff --git a/makefiles/targets/include.mk b/makefiles/targets/include.mk
new file mode 100644
index 0000000..2d49fda
--- /dev/null
+++ b/makefiles/targets/include.mk
@@ -0,0 +1,28 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+include $(ONF_MAKE)/targets/test-errors.mk
+# include $(ONF_MAKE)/targets/tox.mk
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/targets/test-errors.mk b/makefiles/targets/test-errors.mk
new file mode 100644
index 0000000..548da7f
--- /dev/null
+++ b/makefiles/targets/test-errors.mk
@@ -0,0 +1,65 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## Intent: Summary 'make test' to hilight errors
+## -----------------------------------------------------------------------
+test-errors-lint := test-errors.lint.log
+test-errors-link := test-errors.linkcheck.log
+test-errors:
+	@echo "** Running $(MAKE) sterile"
+	$(HIDE)( $(MAKE) sterile 3>&1 2>&1 ) >/dev/null
+
+	@echo
+	@echo "** Running $(MAKE) lint"
+	-$(HIDE) ( $(MAKE) lint 3>&1 2>&1 ) > $(test-errors-lint)
+
+	@echo '** Screen log for errors: $(test-errors-lint)'
+	$(HIDE)! grep \
+	  -e 'make: ***' \
+	  $(test-errors-lint)
+
+	@echo
+	@echo "** Running $(MAKE) linkcheck"
+	-$(HIDE) ( $(MAKE) linkcheck 3>&1 2>&1 ) > $(test-errors-link)
+
+	@echo '** Screen log for errors: $(test-errors-link)'
+	$(HIDE)! grep \
+	  -e 'make: ***' \
+	  -e 'broken'    \
+	 $(test-errors-link)
+
+## -----------------------------------------------------------------------
+## Intent: Remove generated logfiles
+## -----------------------------------------------------------------------
+clean ::
+	$(RM) $(test-errors-lint) $(test-errors-link)
+
+## -----------------------------------------------------------------------
+## Intent: Display target help
+## -----------------------------------------------------------------------
+help ::
+	@echo '  test-errors    Run make test and display an error summary'
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/todo.mk b/makefiles/todo.mk
index b122a9e..f788724 100644
--- a/makefiles/todo.mk
+++ b/makefiles/todo.mk
@@ -24,6 +24,11 @@
 ## -----------------------------------------------------------------------
 todo ::
 	@echo '[TODO]'
+	@echo '  CLEANUP: make test'
+	@echo '    WARNING: document isnt included in any toctree'
+	@echo
+	@echo '  CLEANUP: make linkcheck'
+	@echo '    replace redirect URLs with resolved urls'
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index bcda734..fd178f3 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -14,6 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ## -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefile.version = 1.0
+# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
 
diff --git a/overview/releases.rst b/overview/releases.rst
index 4c86205..31ac0b2 100644
--- a/overview/releases.rst
+++ b/overview/releases.rst
@@ -126,3 +126,8 @@
      - December 30, 2022
      -
      -
+   * - `VOLTHA 2.12-FIXME <../release_notes/voltha_2.11.html>`_
+     - December 30, 2022
+     - June 30, 2023
+     -
+     -
diff --git a/release_notes/index.rst b/release_notes/index.rst
index 7c3ca31..498fdee 100644
--- a/release_notes/index.rst
+++ b/release_notes/index.rst
@@ -4,6 +4,7 @@
 .. toctree::
    :maxdepth: 1
 
+   voltha_2.12.rst
    voltha_2.11.rst
    voltha_2.10.rst
    voltha_2.9.rst
diff --git a/release_notes/voltha_2.12.rst b/release_notes/voltha_2.12.rst
new file mode 100644
index 0000000..0d473f0
--- /dev/null
+++ b/release_notes/voltha_2.12.rst
@@ -0,0 +1,119 @@
+.. figure:: images/voltha.svg
+   :alt: voltha- Release Notes
+   :width: 40%
+   :align: center
+
+
+VOLTHA 2.12 Release Notes
+=========================
+
+Highlights
+----------
+
+Features & Improvements
+-----------------------
+
+Bug Fixes
+---------
+
+Test
+----
+
+Documentation
+-------------
+
+As usual documentation is published on https://docs.voltha.org
+
+
+Known Issues
+------------
+.. list-table:: Known Issues
+   :widths: 10, 40
+   :header-rows: 1
+
+   * - Jira
+     - Description
+   * - Placeholder
+     - Placeholder
+
+Certification Program
+---------------------
+
+Thanks to the Continuous Certification program at ONF we can also ensure
+that the following ONF member products are compatible with the VOLTHA 2.11
+release:
+
+- Edgecore ASGVolt64 GPON OLT
+- Radisys 3200G GPON OLT
+- Radisys 1600G GPON OLT
+- Zyxel SDA3016SS Combo OLT
+
+
+Jira stories
+------------
+A full list of stories and bugs completed can be found under the
+`VOLTHA 2.12 <https://jira.opencord.org/projects/VOL/versions/12600>`_ (`formatted <https://jira.opencord.org/secure/ReleaseNote.jspa?projectId=10106&version=12600>`_) release page in Jira.
+
+|
+
+Component Versions in VOLTHA 2.12 release
+-----------------------------------------
+
+Helm Chart Versions
++++++++++++++++++++
+This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks:
+
+BAL Version
++++++++++++
+
+|
+
+Get Involved
+------------
+We'd love to accept your patches and contributions to the VOLTHA project, join the community!
+
+| Here are a few resources to get you started:
+
+
+Index/Entry points
+++++++++++++++++++
+
+  - `https://docs.voltha.org <https://docs.voltha.org/master/index.html>`_
+  - `Getting Started <https://docs.voltha.org/master/overview/contributing.html>`_
+
+HOWTO
++++++
+
+  - `Code, Documentation, Makefiles <https://docs.voltha.org/master/howto/index.html>`_
+  - `Setup a test pod <https://docs.voltha.org/master/overview/lab_setup.html>`_
+  - `Troubleshooting <https://docs.voltha.org/master/overview/troubleshooting.html>`_
+
+Testing
++++++++
+
+  - `Automation <https://docs.voltha.org/master/testing/voltha_test_automation.html>`_
+  - `Robot testing harness <https://docs.voltha.org/master/testing/index.html>`_
+  - `voltha-system-tests <https://docs.voltha.org/master/voltha-system-tests/README.html>`_
+
+CLI Tools
++++++++++
+
+  - `BBSIM <https://docs.voltha.org/master/bbsim/docs/source/index.html>`__
+  - `voltctl <https://docs.voltha.org/master/voltctl/README.html?highlight=voltctl>`__
+
+Slack
++++++
+  - `voltha-dev <https://app.slack.com/client/T095Z193Q/C01D229FP2A>`_
+  - `community <https://app.slack.com/client/T095Z193Q/C0184DT7116>`_
+  - `general <https://app.slack.com/client/T095Z193Q/C095YQBLL>`_
+
+Mailing List
+++++++++++++
+  - `voltha-discuss@opennetworking.org <https://groups.google.com/a/opennetworking.org/g/voltha-discuss>`_.
+
+Weekly TST Meetings
++++++++++++++++++++
+- `Zoom Meeting <https://www.google.com/url?q=https://onf.zoom.us/j/978447356?pwd%3DdS9WajNLam9ZeFExOHV3SXB2Nk1VZz09&sa=D&source=calendar&ust=1686087684256971&usg=AOvVaw3dMQpIMYLlyjTTmkvW_edp>`_.
+- `Rolling Agenda <https://www.google.com/url?q=https://docs.google.com/document/d/1mNqronCip_-tDjFI-ZoudNteC3AnOcVONPHz7HuW8Eg/edit?usp%3Dsharing&sa=D&source=calendar&ust=1686087684256971&usg=AOvVaw3km2VVU2j1qa6JCGI0iSBx>`_.
+
+|