blob: cff7748b353cc3f2dd4e447b9ce42542a069d052 [file] [log] [blame]
.. SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
.. SPDX-License-Identifier: Apache-2.0
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:
- Run Jenkins artifact release job: https://jenkins.onosproject.org/view/SD-Fabric/job/artifact-release_sdfabric-onos/ :
- Exclude ``pom.xml(s)`` through ``egrepExclude`` variable
- Update ``pom.xml(s)`` in the first review generated by the job:
- 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/
- Merge the second review generated by the job
- fabric-tna:
- Update ``pom.xml``:
- Update dependencies (use non-snapshot ``onos`` and ``trellis-control``)
- Update version
- Tag repository
- Create a second pull request to start a new development cycle
- up4:
- Update ``pom.xml(s)``:
- Update dependencies (use non-snapshot onos)
- Update version
- Tag repository
- Create a second pull request to start a new development cycle
- SD-Fabric image:
- Update Makefile.stable with git tags used above
- Merge, wait for Jenkins to publish stable image
- Manually tag image on Dockerhub
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