5 This page documents the current branch cutting tasks that are needed
6 to be performed at various milestones and which team has the necessary
7 permissions in order to perform the necessary task in Parentheses.
15 - Export ${NEXT_RELEASE} and ${CURR_RELEASE} with new and current release names.
16 **(releng/builder committers)**
20 export NEXT_RELEASE="Nitrogen"
21 export CURR_RELEASE="Carbon"
23 - Change JJB yaml files from `stream:carbon` branch pointer from `master -> stable/${CURR_RELEASE,,}`
24 and create new `stream: ${NEXT_RELEASE,,}` branch pointer to branch master. This
25 requires handling two different file formats interspersed with in autorelease projects.
26 **(releng/builder committers)**
41 - '{project-name}-verify-{stream}-{maven}-{jdks}'
45 - The above manual process of updating individual files is automated with the script.
46 **(releng/builder committers)**
50 cd builder/scripts/branch_cut
51 ./branch_cutter.sh -n $NEXT_RELEASE -c $CURR_RELEASE
53 - Review and submit the changes to releng/builder project. **(releng/builder committers)**
58 - Block submit permissions for registered users and elevate RE's committer rights on gerrit.
61 .. figure:: images/gerrit-update-committer-rights.png
65 Enable **Exclusive** checkbox for the submit button to override any existing persmissions.
67 - Setup releng/autorelease repository.
68 **(Release Engineering Team)**
73 git submodule foreach 'git review -s'
75 git submodule foreach 'git checkout master'
77 git submodule foreach 'git pull --rebase'
79 - Create stable/${CURR_RELEASE} branches based on HEAD master.
80 **(Release Engineering Team)**
84 git submodule foreach 'git checkout -b stable/${CURR_RELEASE,,} origin/master'
85 git push gerrit stable/${CURR_RELEASE,,}
86 git submodule foreach 'git push gerrit stable/${CURR_RELEASE,,}'
88 - Enable create reference permissions on gerrit for RE's to submit .gitreview patches.
91 .. figure:: images/gerrit-update-create-reference.png
95 Enable Exclusive checkbox override any existing persmissions.
97 - Contribute .gitreview updates to stable/${CURR_RELEASE,,}.
98 **(Release Engineering Team)**
102 git submodule foreach sed -i -e "s#defaultbranch=master#defaultbranch=stable/${CURR_RELEASE,,}#" .gitreview
103 git submodule foreach git commit -asm "Update .gitreview to stable/${CURR_RELEASE,,}"
104 git submodule foreach 'git review -t ${CURR_RELEASE,,}-branch-cut'
105 sed -i -e "s#defaultbranch=master#defaultbranch=stable/${CURR_RELEASE,,}#" .gitreview
107 git commit -s -v -m "Update .gitreview to stable/${CURR_RELEASE,,}"
108 git review -t ${CURR_RELEASE,,}-branch-cut
110 - Merge all .gitreview patches submitted in the above step. **(Release Engineering Team)**
111 - Remove create reference permissions set on gerrit for RE's. **(Helpdesk)**
112 - Version bump master by x.(y+1).z. **(Release Engineering Team)**
117 git submodule foreach 'git checkout master'
119 lftools version bump ${CURR_RELEASE}
121 - Exclude version bump changes to release notes. **(Release Engineering Team)**
125 git checkout pom.xml scripts/
127 - Push version bump master changes to gerrit. **(Release Engineering Team)**
131 git submodule foreach 'git commit -asm "Bump versions by x.(y+1).z for next dev cycle"'
132 git submodule foreach 'git review -t nitrogen-br-cut'
134 - Merge all version bump patches in the order of dependencies. **(Release Engineering Team)**
135 - Re-enable submit permissions for registered users and disable elevated RE committer rights on gerrit. **(Helpdesk)**
136 - Notify release list on branch cutting work completion. **(Release Engineering Team)**