| Release overview (WIP) |
| ====================== |
| |
| For a VOLTHA release several actions and patches are applied to each repository. |
| Release also happens in a hierarchial manner due to dependencies. |
| |
| - Version string differs between branch=master and branch=voltha-2.12. |
| - For ex repo:voltha-protos currently has: |
| |
| - master=5.5.0 |
| - voltha-2.12=5.4.11 |
| |
| - For release create an initial baseline build to verify no pre-existing corruption or test failures are present. |
| |
| - Baseline builds contain bulk cosmetic changes which may include: |
| |
| - Copyright notice ending date change. |
| - Cosmetic comemnt changes in source. |
| - Syntax formatting (gofmt -s -e -w) |
| |
| - Baseline builds may also remove suffixes like -dev from the VERSION file. |
| |
| - Now tag-branch or branch-tag the repo (depending on repository) for release. |
| A few things will need to happen: |
| |
| - A few distinct sets of patches for each branch are created: |
| |
| - Update VERSION string so master and voltha-2.12 patches cannot collide. |
| |
| - branch=voltha-2.12 : VERSION = {max}.{min}+1.0 |
| - branch=master : VERSION = {max+1}.{min}.0 |
| |
| - Update release branch .gitreview file: |
| |
| - defaultbranch=voltha-2.12 |
| - This will rebase/merge against the release branch rather than master. |
| |
| - Update go.mod version strings to be appropriate for branch={voltha-2.12, master} |
| |
| NOTE |
| |
| :: |
| |
| One item that may be confusing. Baseline builds for release are independent |
| of tagging & branching so may be initiated in parallel. Generally release |
| tasks for a repository are performed in hierarchial order, release |
| repositories and obtain the final version string. Next continue onto |
| releasing repositories that depend on ones released earlier. |
| |
| For ex, the release sequence for repo:voltha-go would be |
| 1) Release repo:votlha-protos |
| 2) Release repo:votlha-lib-go # Depends on voltha-protos |
| 3) Release repo:votlha-go # Depends on both. |
| |
| Todo |
| ---- |
| |
| - Add document references to existing release pages. |
| - Link to repo dependencies in howto/release/repositories |