Release: Checklist
==================

docs.voltha.org (repo: voltha-docs)
-----------------------------------

- Create release notes
- Review core contributors

VOLTHA Repositories (special snowflakes)
----------------------------------------

- voltha-helm-charts
- voltha-system-tests

  - Create branch voltha-2.12
  - Update Chart.yaml in v-h-c to version 2.12
  - Create tag 2.12.0 on branch voltha-2.12

    - v-h-c and v-s-t are the only repositories to receive this tag.
    - `creating-initial-release <https://docs.voltha.org/master/release_notes/release_process.html#creating-the-initial-release>`_


VOLTHA Repositories
-------------------

- Create release branch voltha-X.YY in each repository.
- Update .gitreview, assign `defaultbranch=voltha-2.12 <https://gerrit.lfbroadband.org/c/pod-configs/+/33941/2/.gitreview>`_.

Release Builds
--------------

- components/onos_components
- Build and record version for all external VOLTHA dependencies.
- `VOL-4925 <https://lf-broadband.atlassian.net/browse/VOL-4925>`_.
- Upgrade Maven Plugins listed in pom.xml

Packages
--------

- Package `aaa <https://gerrit.lfbroadband.org/c/aaa/+/33599>`_

  - Versions

    - New 2.10.3
    - Old 2.9.0

  - DEPS: sadis

- Package `sadis <https://gerrit.lfbroadband.org/plugins/gitiles/sadis/>`_

  - Versions

    - `New: 5.11.1-SNAPSHOT <https://gerrit.lfbroadband.org/plugins/gitiles/sadis/+/refs/heads/master/pom.xml#30>`_
    - `Old: (5.10.0) <https://central.sonatype.com/artifact/org.opencord/sadis/5.10.0?smo=true>`_

  - VCS

    - `gerrit <https://gerrit.lfbroadband.org/plugins/gitiles/sadis/+/refs/tags/5.11.0>`_
    - `github <https://github.com/opencord/sadis/tree/5.10.0>`_

  - DEPS:

Release Notes
-------------

- Capture version information and packages for all builds.

Helm Charts
-----------

voltha-infra
^^^^^^^^^^^^

Once dependent packages are built update helm charts:  charts/index
- Verify by `installation <https://gerrit.lfbroadband.org/plugins/gitiles/voltha-helm-charts>`_

.. code:: bash

   helm upgrade --install --create-namespace -n infra --version 2.8.0 voltha-infra onf/voltha-infra

voltha-stack
^^^^^^^^^^^^

.. code:: bash

   helm upgrade --install --create-namespace \
       -n voltha voltha onf/voltha-stack \
       --set global.stack_name=voltha \
       --set global.voltha_infra_name=voltha-infra \
       --set global.voltha_infra_namespace=infra

Verify DT & TT
^^^^^^^^^^^^^^

`deploying-a-different-workflow <https://gerrit.lfbroadband.org/plugins/gitiles/voltha-helm-charts#deploying-a-different-workflow>`_

Update
https://gerrit.lfbroadband.org/plugins/gitiles/voltha-helm-charts/+/refs/heads/master/voltha-stack/Chart.yaml


Misc
^^^^

.. code:: bash

   helm upgrade --install -n voltha bbsim0 onf/bbsim --set olt_id=10

   # https://gerrit.lfbroadband.org/plugins/gitiles/voltha-helm-charts#deploying-a-different-workflow
   kubectl get pods --all-namespaces


Voltha with golang source
-------------------------

Review all repositories that contain golang sources.
Version(s) of external packages in the vendor/ directory may need to be updated.

.. code-block: shell-session
   :linenos:
   :hilight: 2, 4

   # Clone repo:voltha-go
   git clone ssh://gerrit.lfbroadband.org:29418/voltha-go.git

   cd voltha-go
   make help

.. list-table:: make targets
   :header-rows: 1
   :widths: 20,50

   * - Command
     - Description
   * - make lint
     - syntax check sources
   * - make lint-dockerfile
     - syntax check docker config
   * - make lint-mod
     - syntax check golang dependencies

.. list-table:: build & test targets
   :header-rows: 1
   :widths: 20,50

   * - Command
     - Description
   * - make build
     - Build core docker image
   * - make test
     - Requires docker, test local build
   * - make sca
     - Generate a static code analysis report

.. list-table:: Developer targets
   :header-rows: 1
   :widths: 20,50

   * - Command
     - Description
   * - make local-lib-go
     - Create a local version of voltha-lib-go beneath vendor/
   * - make local-protos
     - Create a local version of voltha-protos beneath vendor/
   * - make fmt
     - Run gofmt on sources
   * - make mod-update
     - Update go mod files

Review `voltha-helm-charts <https://gerrit.lfbroadband.org/plugins/gitiles/voltha-helm-charts>`_

Release voltha-protos & friends in order
----------------------------------------
https://docs.voltha.org/master/overview/release_process.html?highlight=charts%20yaml

EOF
---
