Release process
Change-Id: Ibb363aa29167ee5874bf597b842e4e05b1e07b40
diff --git a/dict.txt b/dict.txt
index 3598def..d6fe564 100644
--- a/dict.txt
+++ b/dict.txt
@@ -9,6 +9,7 @@
DDoS
Edgecore
Fluentbit
+Gerrit
GPP
Grafana
IPv
@@ -17,6 +18,7 @@
IoT
Kibana
Kubernetes
+Makefile
Mininet
Multicast
Netburg
diff --git a/release/process.rst b/release/process.rst
index 2530f87..5b155f7 100644
--- a/release/process.rst
+++ b/release/process.rst
@@ -1,3 +1,83 @@
Release Process
===============
+Release artifacts
+-----------------
+There will be 4 major artifacts produced as the result of release process.
+
+- **SD-Fabric Docker image** - This includes all control plane software
+- **Stratum Docker image** - This includes Stratum switch OS
+- **SD-Fabric Helm charts**
+- **SD-Fabric documentation** - The website you are currently viewing
+
+Prerequisite
+------------
+SD-Fabric releases are guarded by our system integration tests.
+Before each release, we check the test result and make sure we have a "green light".
+Visit :ref:`testing_guide` for more details.
+
+Stratum Docker image
+--------------------
+Stratum has its own release process and release timeline.
+We request Stratum TST to make a release when necessary.
+
+SD-Fabric Docker Image
+----------------------
+We tag and release the following repositories in order:
+
+- onos:
+ - Run Jenkins release job: https://jenkins.onosproject.org/view/onos-release/job/onos-bazel-release-build/
+ - Manually publish artifacts to Maven central: https://oss.sonatype.org/
+
+- trellis-control:
+ - Update ``pom.xml(s)``:
+
+ - Update dependencies (use non-snapshot onos)
+ - Update version
+ - Push Gerrit change, merge
+ - Wait for Jenkins job to publish artifacts (https://jenkins.onosproject.org/view/Trellis/job/maven-publish_trellis-control)
+ - Manually release artifacts: https://oss.sonatype.org/
+
+- fabric-tna:
+ - Update ``pom.xml``:
+
+ - Update dependencies (use non-snapshot ``onos`` and ``trellis-control``)
+ - Update version
+ - Tag repository
+
+- up4:
+ - Update ``pom.xml(s)``:
+
+ - Update dependencies (use non-snapshot onos)
+ - Update version
+ - Tag repository
+
+- SD-Fabric image:
+ - Update Makefile.stable with git tags used above
+ - Merge, wait for Jenkins to publish stable image
+ - Manually tag image on harbor
+
+SD-Fabric Helm charts
+---------------------
+The SD-Fabric umbrella chart includes 5 sub-charts:
+
+ - ONOS classic
+ - Stratum
+ - PFCP agent
+ - DBUF
+ - INT host reporter
+
+To update each sub-charts:
+ - Update chart version and default image in each charts
+ - Post-merge CI job will tag the repositories according to chart version
+
+To update the umbrella charts:
+ - Update chart version and dependencies in ``sdfabric-helm-charts/sdfabric/Chart.yaml``
+ - Post-merge CI job will tag the repositories according to chart version
+
+
+SD-Fabric documentation
+-----------------------
+- Complete release note
+- Tag documentation repository for each release
+- Branch documentation repository for each major releases
diff --git a/testing.rst b/testing.rst
index 76f83fd..6dd70d3 100644
--- a/testing.rst
+++ b/testing.rst
@@ -1,3 +1,5 @@
+.. _testing_guide:
+
Testing Guide
=============