Skip to content

Commit 6e0a8dd

Browse files
committed
Add new branch checklist doc
1 parent d4b94b1 commit 6e0a8dd

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed

docs/new_branch_checklist.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
## New Branch Checklist
2+
3+
### Key
4+
5+
| Code | Description | Example |
6+
|-----------------|----------------------------|-------------|
7+
| `<branch>` | New branch name | `lasker` |
8+
| `<Branch>` | New branch name titleized | `Lasker` |
9+
| `<branch#>` | New branch number | `12` |
10+
| `<nextbranch>` | Next branch name | `morphy` |
11+
| `<NextBranch>` | Next branch name titleized | `Morphy` |
12+
| `<nextbranch#>` | Next branch number | `13` |
13+
| `<nextbranch>` | Next branch name | `morphy` |
14+
| `<n+2branch>` | Unnamed N+2 branch | `N-release` |
15+
16+
### Steps
17+
18+
1. Pause the mirror script
19+
20+
2. Create the new branch
21+
22+
- [X] In `manageiq-release@master`
23+
- Update repos.yml file and add section for `<branch>`
24+
- [X] `bin/release_branch.rb --branch <branch>`
25+
26+
3. Prepare development for the new branch
27+
28+
- [X] Create release labels: `<branch>/yes`, `<branch>/yes?`, `<branch>/no`, `<branch>/backported`, and `<branch>/conflict`.
29+
- [X] Update config/labels.yml with the new labels and features. Note: the new branch label is color #000000, the N-1 branch label color is #555555, the N-M branch label color is #dddddd
30+
- [X] `bin/update_labels.rb`
31+
32+
4. Code changes for new and master branches
33+
34+
- [X] In `manageiq@<branch>`
35+
- [X] Update Gemfile to change the ref for manageiq_plugin, manageiq-gems-pending, and amazon_ssa_support
36+
- [X] Update Dockerfile to change the ref to `latest-<branch>`
37+
- [X] Update docker-assets/README.md to change the ref
38+
- [X] Update VERSION file to `<branch>-pre`
39+
- [X] Commit and push the changes
40+
- [X] In `manageiq@master`
41+
- [X] Update lib/vmdb/appliance.rb CODENAME to `<NextBranch>`
42+
- [X] Update lib/vmdb/deprecation.rb version to `<n+2branch>`
43+
- [X] Commit and push the changes
44+
- [X] In `manageiq-documentation@<branch>`
45+
- [X] Update _data/site_menu.yml URLs from `latest` to `<branch>`
46+
- [X] Commit and push the changes
47+
- [X] In `manageiq-documentation@master`
48+
- [X] Update _data/site_menu.yml and remove any `prior:` entries if they exist
49+
- [X] Commit and push the changes if they exist
50+
- [ ] In `manageiq-api@<branch>`
51+
- [ ] Update lib/manageiq/api/version.rb and update the version number
52+
- [ ] Commit and push the changes
53+
- [ ] In `manageiq-api@master`
54+
- [ ] Update lib/manageiq/api/version.rb and update the version number
55+
- [ ] Commit and push the changes
56+
- [X] In `manageiq-appliance-build@<branch>`
57+
- [X] Update bin/nightly-build.sh BRANCH to `<branch>`
58+
- [X] Update config/ova.json `vsphere_product_version` to `<branch>`
59+
- [X] Commit and push the changes
60+
- [X] In `manageiq-appliance-build@master`
61+
- [X] Update kickstarts/partials/main/repos.ks.erb `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
62+
- [X] Update kickstarts/partials/post/repos.ks.erb `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`, if necessary
63+
- [X] Commit and push the changes
64+
- [X] In `manageiq-pods@lasker`
65+
- [X] Update all files mentioning `latest` (except the operator `pullPolicy`) to `latest-<branch>`
66+
- [X] Update all files mentioning `master` to `<branch>`
67+
- [X] Commit and push the changes
68+
- [X] In `manageiq-pods@master`
69+
- [X] Update images/manageiq-base/Dockerfile
70+
- `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
71+
- `manageiq-release-<branch#>` to `manageiq-release-<nextbranch#>`
72+
- [X] Commit and push the changes
73+
- [X] In `manageiq-rpm_build@<branch>`
74+
- [X] Update config/options.yml ref to `<branch>`
75+
- [X] Ensure config/options.yml rpm.version is `<branch#>.0.0`
76+
- [X] Commit and push the changes
77+
- [X] In `manageiq-rpm_build@master`
78+
- [X] Update Dockerfile
79+
- `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
80+
- `manageiq-release-<branch#>` to `manageiq-release-<nextbranch#>`
81+
- [X] Update config/options.yml
82+
- rpm.version to `<nextbranch#>.0.0`
83+
- rpm_repository.content `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
84+
- rpms.manageiq and rpms.manageiq-release `<branch#>` in regex with `<nextbranch#>
85+
- [X] Rename packages/manageiq-release/manageiq-<branch#>-<branch>.repo to manageiq-<nextbranch#>-<nextbranch>.repo
86+
- [X] Update packages/manageiq-release/manageiq-<nextbranch#>-<nextbranch>.repo
87+
- `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
88+
- [X] Update packages/manageiq-release/manageiq-release.spec
89+
- Version to `<nextbranch#>.0`
90+
- `<branch#>-<branch>` to `<nextbranch#>-<nextbranch>`
91+
- Update `%changelog`
92+
- [X] Update rpm_spec/changelog
93+
- Update `%changelog`
94+
- [X] Commit and push the changes
95+
- [X] In `amazon_ssa_support@<branch>`
96+
- [X] Update Gemfile to change the ref for manageiq-gems-pending
97+
- [X] Commit and push the changes
98+
- [X] In `container-amazon-smartstate@<branch>`
99+
- [X] Update container-assets/Gemfile to change the ref for amazon_ssa_support and manageiq-gems-pending
100+
- [X] Commit and push the changes
101+
- [X] In `manageiq-providers-amazon@<branch>`
102+
- [X] Update config/settings.yml agent_coordinator.docker_image from `latest` to `latest-<branch>`
103+
- [X] Commit and push the changes
104+
105+
5. Final development changes for the new branch
106+
107+
- [ ] Mark the new branch as protected
108+
- `bin/update_branch_protection.rb -b <branch>`
109+
- [ ] Update miq-bot
110+
- [ ] Add the new branch to each watched repo
111+
- [ ] Update the unassignable and unremovable labels for the new branch
112+
113+
6. Prepare for the next branch
114+
115+
- [X] Create the next milestone
116+
- [X] `bin/update_milestone.rb --title <NextBranch> --due-on "MMM dd, YYYY"`
117+
- [X] Update https://manageiq.org/roadmap with new column `<NextBranch>`
118+
119+
7. Unpause the mirror script and adjust mirroring for the new branch
120+
121+
---
122+
123+
### OTHER (TODO CLEANUP)
124+
125+
- [ ] Announce to talk.manageiq.org about the new branch
126+
127+
- [ ] Update docker hub autobuilds for manageiq-rpm_build container and container-amazon-smartstate
128+
- [ ] Create a new box on Vagrant Cloud
129+
130+
- [ ] translations person to update transifex
131+
- [ ] translations update
132+
- [ ] Lock down ui-classic with yarn.lock
133+
- [ ] Lock down manageiq with Gemfile.lock
134+
- [ ] consolidate the CHANGELOG.md file
135+
- [ ] new documentation needed to be generated for API?
136+
- [ ] webmaster handle new documentation for website
137+
138+
- [ ] ensure that container-httpd is locked down to a specific version of dbus_api_service
139+
- [ ] ensure that httpd_configmap_generator is locked down to a specific version of httpd_configmap_generator
140+
141+
- [ ] should we remove unused Ruby versions from .travis.yml on new branch?

0 commit comments

Comments
 (0)