Difference between revisions of "VPP/CommitterTasks/PullThrottleBranch"
(→VPP RC1 pre-Milestone Tasklist) |
(→Pulling a VPP Throttle Branch) |
||
Line 17: | Line 17: | ||
'''NOTE''': Steps 3 and 4 can be done any time prior to RC1 branch day. At the very least, discuss the requirements with the individuals ahead of time to set the correct expectations. | '''NOTE''': Steps 3 and 4 can be done any time prior to RC1 branch day. At the very least, discuss the requirements with the individuals ahead of time to set the correct expectations. | ||
− | 3. | + | 3. nexus - no longer needed. |
− | + | 4. Request Ed Warnicke create the package cloud repos. Send and email to Ed Warnicke (eaw@cisco.com and/or hagbard@gmail.com) reminding him to create the package cloud repositories for the new release, and have lf-fdio as a collaborator. | |
− | + | Since 21.01RC1 the verify/merge jobs do not require the packages to be present in the deb repos. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 4. Request Ed Warnicke create the package cloud repos. | + | |
− | + | ||
− | Send and email to Ed Warnicke (eaw@cisco.com and/or hagbard@gmail.com) reminding him to create the package cloud repositories for the new release and | + | |
− | + | ||
− | + | ||
5. '''Jenkins''': (can be done and merged some days <b>before</b> the date of pulling the branch) - In the ci-management Git repo, edit <code>jjb/vpp/vpp.yaml</code>: | 5. '''Jenkins''': (can be done and merged some days <b>before</b> the date of pulling the branch) - In the ci-management Git repo, edit <code>jjb/vpp/vpp.yaml</code>: |
Revision as of 20:41, 16 December 2020
VPP RC1 pre-Milestone Tasklist
1. At least a week prior to the RC1 date, email a reminder to vpp-dev@lists.fd.io about VPP RC1 Milestone. See an example email or another example email.
2. To be done before RC1:
- a. Follow-up that ci-management change below is merged - b. Verify that packagecloud.io repository fdio/XXYY (as corresponding to the branch stable/XXYY that is being created) exists and follow up with Ed Warnicke to ensure it is created and has "lf-fdio" added as a collaborator. - c. Prepare "first commit of rc0 of next release" commit on master branch so it is ready for merge + tagging at the time of the RC1.
3. Resend reminder about (1) a day or two prior to the RC1 date.
Pulling a VPP Throttle Branch
NOTE: Steps 3 and 4 can be done any time prior to RC1 branch day. At the very least, discuss the requirements with the individuals ahead of time to set the correct expectations.
3. nexus - no longer needed.
4. Request Ed Warnicke create the package cloud repos. Send and email to Ed Warnicke (eaw@cisco.com and/or hagbard@gmail.com) reminding him to create the package cloud repositories for the new release, and have lf-fdio as a collaborator. Since 21.01RC1 the verify/merge jobs do not require the packages to be present in the deb repos.
5. Jenkins: (can be done and merged some days before the date of pulling the branch) - In the ci-management Git repo, edit jjb/vpp/vpp.yaml
:
- a. https://git.fd.io/ci-management/tree/jjb/vpp/vpp.yaml#n49
- add a new 'stream' for your new YYMM. Example for stable/1801:
- '1801': branch: 'stable/1801’' repo-stream-part: 'stable.1801'
- b. https://git.fd.io/ci-management/tree/jjb/vpp/vpp.yaml#n87
- likewise add a new stream here. Exactly the same idea as the previous step.
- c. Example: https://gerrit.fd.io/r/9934/
- d. Similarly, edit
jjb/vpp/docs.yaml
- add a new 'stream' for your new YYMM. Example for stable/1904:
- '1904': branch: 'stable/1904’' repo-stream-part: 'stable.1904'
- e. Example: https://gerrit.fd.io/r/#/c/18982/
6. Create a new branch stable/YYMM (example: stable/1801) in the Gerrit web UI against the point on master you wish to be cutting the branch (usually HEAD
at the time you’re cutting).
7. On master, edit vpp/RELEASE.md and add a placeholder for the next release and merge the patch on master and edit vpp/doxygen/test_framework_doc.md and add a new link to the next release's test framework documentation. This will be the commit that the next release -rc0 tag is placed on.
- Examples:
8. Lay down a tag for the next release RC0 (e.g. 1804-rc0
) on master.
9. On stable/YYMM (example: stable/1801) prepare a commit which updates the .gitreview
to reflect the correct branch
- b. Merge patch onto the new stable branch
NOTE: Verify that this patch is in fact on the new stable branch, and not on master!
10. Lay down a tag (v18.01-rc1
) on stable/1801 at the point of the patch you just merged.
NOTE: If the verification steps in 11 & 12 don't happen by the end of the day, it is best to send an email re-opening master to commits.
11. Verify that the nexus repos have packages with the correct version and are working
- a. Remerge the patch from step 7
- b. When the remerge from step 7 is complete, verify that the correct package versions have been uploaded onto the nexus server
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/
- c. Examples
- d. Verify that package like artifacts are present in all the above git repos by looking for:
- Non-zero sized ‘Package’ in the apt repos (xenial)
- A repodata/ subdir in the yum repo (centos7)
- e. Update the Installing VPP Binaries from Packages Wiki page with instructions for the new branch, and test that you can install packages from packagecloud.io
12. Verify that the nexus and packagecloud.io repos have packages with the correct version and are working
- a. Remerge the last merged patch on master
- b. When the remerge of the last patch on master is complete, go look for package with the correct versions at:
- c. Verify that package like artifacts are present in all the above git repos by looking for:
- Non-zero sized ‘Package’ in the apt repos (xenial)
- A repodata/ subdir in the yum repo (for centos7)
- d. Follow instructions on VPP/Installing_VPP_binaries_from_packages and verify that packages with the new versions are installed on packagecloud.io
13. Send the all-clear message. Example.
14. If the Jira steps from VPP/CommitterTasks/ApiFreeze#Jira_versions didn't happen yet, do them now.
Amend as necessary with any caveats; for example the 1804 RC1 milestone opened master and stable on different days while minor issues were resolved.