blob: f90440e8b7a7a6de02e14234f18109c54200c76c [file] [log] [blame]
Joey Armstrongf6dde7a2024-02-01 10:09:20 -05001.. _Release Repository ci-management:
2
3Repository: ci-management
4=========================
5
6- `repo:ci-management <https://gerrit.opencord.org/plugins/gitiles/ci-management>`_
7- First repsitory to release.
8- One of only three repositories to branch-then-tag.
9- Dependency for releasing all other repositories, test suites are
10 launched from release branch=votha-X.Y.
11
12Release: {Tag,Branch}ing script
13-------------------------------
14`repo:voltha-release <https://gerrit.opencord.org/plugins/gitiles/voltha-release>`_ :: `bttb.sh <https://gerrit.opencord.org/plugins/gitiles/voltha-release/+/refs/heads/master/bttb.sh>`_ (branch-tag/or/tag-branch)
15
16The bttb.sh script will perform several tasks to release a repository.
17
18- Clone a named sandbox.
19- Identify release activity by repository name: tag-branch or branch-tag.
20
21## Identify release activity by repository (TagBranch-or-BranchTag)
22
23.. code :: python
24
25 # Identify by repository name then tag-branch or branch-tag:
26 if repo in ['ci-management', 'voltha-helm-charts', 'voltha-system-tests']:
27 create_branch voltha-X.Y
28 create_tag attached to branch=voltha-X.Y
29 else:
30 create_tag 2.12.0 OR v2.12.0
31 create_branch voltha-2.12 attached to tag=2.12.0
32
33 % git push {tags,branches}
34
35## Create a release dev branch for edits
36
37.. code-block:: shell-session
38 :caption: Identify release activity by repository
39
40 % git clone -b dev-joey voltha-2.12 (or origin/voltha-2.12)
41
42 # Edit VERSION file: X.Y.{1+Z}
43 % echo 'X.Y.{1+Z}' > VERSION
44
45 # Edit .gitreview: defaultbranch=voltha-X.Y
46 % grep -v 'defaultbranch' .gitreview > .gitreview.tmp
47 % echo "defaultbranch=voltha-2.12" >> .gitreview.tmp
48 % mv -f .gitreview.tmp .gitreview
49
50## Command usage: bttb.sh
51
52.. code-block:: shell-session
53 :caption: Release tagging and branching
54
55 % git clone ssh://gerrit.opencord.org:29418/voltha-release
56 % cd voltha-release
57
58 % ./bttb.sh --help
59
60 declare -a args=()
61
62 args+=('--clean') # Remove existing checkouts
63 args+=('--edit') # Edit VERISON, commit message, etc
64
65 args+=('--[no-]gerrit') # View repo branch & tags early
66 args+=('--sandbox' './sandbox') # git clone target directory
67
68 args+=('--repo' 'ci-management')
69 args+=('--version' '2.12') # votlha-2.12 release
70
71 args+=('--jira' 'VOL-5020') # Jira ticket: release the repository
72 args+=('--jira' 'VOL-5021') # addendum
73 args+=('--jira' 'VOL-5022')
74
75 # Generate branch={master,voltha-2.12} commit messages
76 args+=('--commit-message-dir' "${PWD}/sandbox/messages")
77
78 % ./bttb.sh "${args[@]}" 2>&1 | tee ci-management.log
79
80See Also
81--------
82https://docs.voltha.org/master/release_notes/release_process.html