blob: 19775689b04057d2c5d9d6972625828c9ae47d76 [file] [log] [blame]
Joey Armstrong54fd7792024-01-18 09:12:30 -05001Release overview (WIP)
2======================
3
4For a VOLTHA release several actions and patches are applied to each repository.
5Release also happens in a hierarchial manner due to dependencies.
6
7- Version string differs between branch=master and branch=voltha-2.12.
8- For ex repo:voltha-protos currently has:
9
10 - master=5.5.0
11 - voltha-2.12=5.4.11
12
13- For release create an initial baseline build to verify no pre-existing corruption or test failures are present.
14
15 - Baseline builds contain bulk cosmetic changes which may include:
16
17 - Copyright notice ending date change.
18 - Cosmetic comemnt changes in source.
19 - Syntax formatting (gofmt -s -e -w)
20
21 - Baseline builds may also remove suffixes like -dev from the VERSION file.
22
23- Now tag-branch or branch-tag the repo (depending on repository) for release.
24 A few things will need to happen:
25
26 - A few distinct sets of patches for each branch are created:
27
28 - Update VERSION string so master and voltha-2.12 patches cannot collide.
29
30 - branch=voltha-2.12 : VERSION = {max}.{min}+1.0
31 - branch=master : VERSION = {max+1}.{min}.0
32
33 - Update release branch .gitreview file:
34
35 - defaultbranch=voltha-2.12
36 - This will rebase/merge against the release branch rather than master.
37
38 - Update go.mod version strings to be appropriate for branch={voltha-2.12, master}
39
40NOTE
41
42::
43
44 One item that may be confusing. Baseline builds for release are independent
45 of tagging & branching so may be initiated in parallel. Generally release
46 tasks for a repository are performed in hierarchial order, release
47 repositories and obtain the final version string. Next continue onto
48 releasing repositories that depend on ones released earlier.
49
50 For ex, the release sequence for repo:voltha-go would be
51 1) Release repo:votlha-protos
52 2) Release repo:votlha-lib-go # Depends on voltha-protos
53 3) Release repo:votlha-go # Depends on both.
54
55Todo
56----
57
58- Add document references to existing release pages.
59- Link to repo dependencies in howto/release/repositories