5 This page documents the current branch cutting tasks that are needed
6 to be performed at RC0 and which team has the necessary permissions
7 in order to perform the necessary task in Parentheses.
12 #. Export ``${NEXT_RELEASE}`` and ``${CURR_RELEASE}`` with new and current release names.
13 **(releng/builder committers)**
17 export NEXT_RELEASE="Neon"
18 export CURR_RELEASE="Fluorine"
20 #. Change JJB yaml files from ``stream: fluorine`` branch pointer from *master -> stable/${CURR_RELEASE,,}*
21 and create new ``stream: ${NEXT_RELEASE,,}`` branch pointer to branch master. This
22 requires handling two different file formats interspersed with in autorelease projects.
23 **(releng/builder committers)**
31 branch: stable/fluorine
38 - '{project-name}-verify-{stream}-{maven}-{jdks}'
42 - The above manual process of updating individual files is automated with the script.
43 **(releng/builder committers)**
47 cd builder/scripts/branch_cut
48 ./branch_cutter.sh -n $NEXT_RELEASE -c $CURR_RELEASE
50 #. Review and submit the changes to releng/builder project. **(releng/builder committers)**
55 #. Block submit permissions for registered users and elevate RE's committer rights on gerrit.
58 .. figure:: images/gerrit-update-committer-rights.png
62 Enable **Exclusive** checkbox for the submit button to override any existing permissions.
64 #. Enable create reference permissions on gerrit for RE's to submit .gitreview patches.
67 .. figure:: images/gerrit-update-create-reference.png
71 Enable Exclusive checkbox override any existing permissions.
73 #. Start the branch cut job or use the manual steps below for branch cutting autorelease. **(Release Engineering Team)**
74 #. Start the version bump job or use the manual steps below for version bump autorelease. **(Release Engineering Team)**
75 #. Merge all .gitreview patches submitted though the job or manually. **(Release Engineering Team)**
76 #. Remove create reference permissions set on gerrit for RE's. **(Helpdesk)**
77 #. Merge all version bump patches in the order of dependencies. **(Release Engineering Team)**
78 #. Re-enable submit permissions for registered users and disable elevated RE committer rights on gerrit. **(Helpdesk)**
79 #. Notify release list on branch cutting work completion. **(Release Engineering Team)**
82 Branch cut job (Autorelease)
83 ----------------------------
84 Branch cutting can be performed either through the job or manually.
86 #. Start the autorelease-branch-cut job
87 **(Release Engineering Team)**
89 Manual steps to branch cut (Autorelease)
90 ----------------------------------------
92 #. Setup releng/autorelease repository.
93 **(Release Engineering Team)**
98 git submodule foreach 'git review -s'
100 git submodule foreach 'git checkout master'
102 git submodule foreach 'git pull --rebase'
104 #. Enable create reference permissions on gerrit for RE's to submit .gitreview patches.
107 .. figure:: images/gerrit-update-create-reference.png
111 Enable Exclusive check-box override any existing permissions.
113 #. Create stable/${CURR_RELEASE} branches based on HEAD master.
114 **(Release Engineering Team)**
118 git checkout -b stable/${CURR_RELEASE,,} origin/master
119 git submodule foreach 'git checkout -b stable/${CURR_RELEASE,,} origin/master'
120 git push gerrit stable/${CURR_RELEASE,,}
121 git submodule foreach 'git push gerrit stable/${CURR_RELEASE,,}'
123 #. Contribute .gitreview updates to stable/${CURR_RELEASE,,}.
124 **(Release Engineering Team)**
128 git submodule foreach sed -i -e "s#defaultbranch=master#defaultbranch=stable/${CURR_RELEASE,,}#" .gitreview
129 git submodule foreach git commit -asm "Update .gitreview to stable/${CURR_RELEASE,,}"
130 git submodule foreach 'git review -t ${CURR_RELEASE,,}-branch-cut'
131 sed -i -e "s#defaultbranch=master#defaultbranch=stable/${CURR_RELEASE,,}#" .gitreview
133 git commit -s -v -m "Update .gitreview to stable/${CURR_RELEASE,,}"
134 git review -t ${CURR_RELEASE,,}-branch-cut
136 Version bump job (Autorelease)
137 ------------------------------
138 Version bump can performed either through the job or manually.
140 #. Start the autorelease-version-bump-${NEXT_RELEASE,,} job
141 **(Release Engineering Team)**
145 Enabled BRANCH_CUT and disable DRY_RUN to run the job for branch cut
146 work-flow. The version bump job can be run only on the master branch.
148 Manual steps to version bump (Autorelease)
149 ------------------------------------------
151 #. Version bump master by x.(y+1).z. **(Release Engineering Team)**
156 git submodule foreach 'git checkout master'
158 lftools version bump ${CURR_RELEASE}
160 #. Make sure the version bump changes does not modify anything under scripts or pom.xml.
161 **(Release Engineering Team)**
165 git checkout pom.xml scripts/
167 #. Push version bump master changes to gerrit. **(Release Engineering Team)**
171 git submodule foreach 'git commit -asm "Bump versions by x.(y+1).z for next dev cycle"'
172 git submodule foreach 'git review -t ${CURR_RELEASE,,}-branch-cut'
174 #. Merge the patches in order according to the merge-order.log file found
175 in autorelease jobs. **(Release Engineering Team)**
179 The version bump patches can be merged more quickly by performing a local
180 build with ``mvn clean deploy -DskipTests`` to prime Nexus with the new
183 Documentation post branch tasks
184 -------------------------------
186 #. Git remove all files/directories from the ``docs/release-notes/*`` directory.
187 **(Release Engineering Team)**
192 git rm -rf docs/release-notes/<project file and/or folder>
193 git commit -sm "Reset release notes for next dev cycle"