blob: b859afe879e097c32ea22d0ea97350ff3781cfbd [file] [log] [blame]
Joey Armstrongbd6cc3d2023-01-09 19:52:12 -05001VOLTHA Components
2=================
3
4ONOS
5----
6A few different processes exist for releasing the VOLTHA project and componets.
7Some are released through github using branches/tags/downloads.
8Others are released as packages on maven central.
9
10A jenkins job exists for releasing ONOS app
11- Maven central based release
12- Release process requires some manual steps.
Joey Armstrongd24a1122023-01-04 09:34:46 -050013
14- `Jenkins Release Job <https://jenkins.opencord.org/job/onos-app-release/>`_
15
Joey Armstrongbd6cc3d2023-01-09 19:52:12 -050016 - Initiate a build with parameters for the target component.
Joey Armstrongd24a1122023-01-04 09:34:46 -050017
Joey Armstrongbd6cc3d2023-01-09 19:52:12 -050018 - Use repository name not name of the app itself.
19 - Specify appVersion and apiVersion stored in the pom.xml file.
20
21 - Job will modify pom.xml and create pull requests based on version strings.
22
23 - NOTE: Two pull requests are created to modify pom.xml
24 - One for release (x.y.z)
25 - The second to revert to non-release version (x.(y+1).z-SNAPSHOT)
26 - Approve and merge the release version while performing the release.
27 - Once published approve the 2nd version change to re-attach the -SNAPSHOT suffix.
28
29 - Version x.y.z-SNAPSHOT is the default non-release version.
30 - Jenkins job will morph x.y.z-SNAPSHOT into x.y.z for the release.
31 - A gerrit pull request will be created under the release requestor(s) name.
32
33 - Approve the pom.xml pull request and merge.
34 - Merge will trigger (https://jenkins.opencord.org/job/maven-publish_sadis/ for sadis app, similar link for olt and other apps) that publish the artifact in the staging repo on oss.sonatype.org, you need to release it.
35 - Wait for build to complete
36 - Merge the patches here https://gerrit.opencord.org/q/owner:do-not-reply%2540opennetworking.org
37
38- Publish sonatype staging to maven central:
39
40 - Visit `https://oss.sonatype.org <https://oss.sonatype.org>`_
41 - Login with ONF credentials
42
43 - Search for org.opencord
44 - Click on "Staging repositories" (in the left side navigation)
45 - In the top right search for last part of the app name (eg: olt)
46 - Click release (top left bar, small button)
47 - `Wait until artifacts are published <https://search.maven.org/search?q=g:org.opencord>`_
48
49- Release all other apps/components (dependency hierarch):
50
51 - Iterate over individual components in order of increasing dependency volume.
52
53 - For ex olt depends on sadis
54 - Begin by releasing sadis first
55 - Once publishing has completed then olt can be released.
56
57 - Verify expected dependent version has been released.
58 - Modify pom.xml, update dep version(s) from x.z.y-SNAPSHOT to x.y.z
59 - Commit and submit.
60
61
62See Also
63========
64.. toctree::
65
66 onos_dependencies
Joey Armstrong56334fc2023-01-15 22:53:19 -050067 voltha-protos
Joey Armstrongbd6cc3d2023-01-09 19:52:12 -050068
69 voltctl/index
70 voltctl/install
71 voltctl/release
72 voltctl/see_also