Difference between revisions of "VPP/CommitterTasks/PullThrottleBranch"
Dwallacelf (Talk | contribs) (→Pulling a VPP Throttle Branch) |
Dwallacelf (Talk | contribs) |
||
Line 7: | Line 7: | ||
== Pulling a VPP Throttle Branch == | == Pulling a VPP Throttle Branch == | ||
+ | |||
+ | 3. Request LF Admin create Nexus repositories | ||
+ | |||
+ | Have LF admin staff create in nexus new repositories of the form “fd.io.${branchpart}.${distropart} where branchpart is of the form stable.YYMM (example stable.1801) and the distropart is for supported distros (examples: centos7, ubuntu.xenial.main, etc). | ||
+ | |||
+ | NOTE: ubuntu.trusty is no longer supported, thus should not be created. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | NOTE: If these do not exist or the permissions for them are wrong, then the merge jobs will fail after uploading build artifacts to nexus.fd.io | ||
+ | |||
+ | 5. '''Jenkins''': In ci-management/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/ | ||
+ | |||
+ | 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). | ||
+ | |||
+ | :a. https://gerrit.fd.io/r/#/admin/projects/vpp,branches | ||
+ | |||
+ | 7. On stable/YYMM (example: stable/1801) prepare a commit which updates the .gitreview to reflect the correct branch | ||
+ | |||
+ | :a. Examples: | ||
+ | ::https://gerrit.fd.io/r/#/c/1157/1/.gitreview | ||
+ | ::https://gerrit.fd.io/r/#/c/9937/ | ||
+ | |||
+ | :b. Merge patch | ||
+ | |||
+ | 8. [https://wiki.fd.io/view/VPP/Pushing_and_Testing_a_Tag Lay down a tag] (v18.01-rc1) on stable/1801 at the point of the patch you just merged. | ||
+ | |||
+ | 9. 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 | ||
+ | ::<pre>https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/</pre> | ||
+ | ::<pre>https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/</pre> | ||
+ | |||
+ | :c. Examples | ||
+ | ::https://nexus.fd.io/content/repositories/fd.io.stable.1801.centos7/ | ||
+ | ::https://nexus.fd.io/content/repositories/fd.io.stable.1801.xenial.main/ | ||
+ | |||
== Historical Recipes == | == Historical Recipes == |
Revision as of 15:20, 5 February 2018
VPP RC1 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 example email.
2. Resend reminder a day or two prior to the RC1 date.
Pulling a VPP Throttle Branch
3. Request LF Admin create Nexus repositories
Have LF admin staff create in nexus new repositories of the form “fd.io.${branchpart}.${distropart} where branchpart is of the form stable.YYMM (example stable.1801) and the distropart is for supported distros (examples: centos7, ubuntu.xenial.main, etc).
NOTE: ubuntu.trusty is no longer supported, thus should not be created.
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.
NOTE: If these do not exist or the permissions for them are wrong, then the merge jobs will fail after uploading build artifacts to nexus.fd.io
5. Jenkins: In ci-management/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/
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 stable/YYMM (example: stable/1801) prepare a commit which updates the .gitreview to reflect the correct branch
- b. Merge patch
8. Lay down a tag (v18.01-rc1) on stable/1801 at the point of the patch you just merged.
9. 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