|
1 | 1 | # Release Checklist |
2 | 2 |
|
3 | | -This document assists maintainers with creating a new Deis product release. |
4 | | -Please update it to agree with any changes in the process. |
5 | | - |
6 | | -Follow these instructions from top to bottom, skipping the sections that do |
7 | | -not apply. |
8 | | - |
9 | | -## Patch Release |
10 | | - |
11 | | -- Check out the previous release tag |
12 | | - |
13 | | - - `git checkout vA.B.C` |
14 | | - |
15 | | -- Pull in specific bug-fix commits |
16 | | - |
17 | | - - `git cherry-pick <commit-ish>...` |
18 | | - |
19 | | -- Bump the patch version numbers: |
20 | | - |
21 | | -``` |
22 | | -$ ./contrib/bumpver/bumpver -f A.B.C A.B.D \ |
23 | | - README.md \ |
24 | | - builder/rootfs/Dockerfile \ |
25 | | - builder/rootfs/usr/local/src/slugbuilder/Dockerfile \ |
26 | | - builder/rootfs/usr/local/src/slugrunner/Dockerfile \ |
27 | | - client/deis-version \ |
28 | | - contrib/utils.sh \ |
29 | | - controller/deis/__init__.py \ |
30 | | - controller/Dockerfile \ |
31 | | - database/Dockerfile \ |
32 | | - deisctl/client/client.go \ |
33 | | - deisctl/deis-version \ |
34 | | - docs/_includes/_get-the-source.rst \ |
35 | | - docs/installing_deis/install-deisctl.rst \ |
36 | | - docs/installing_deis/install-platform.rst \ |
37 | | - docs/managing_deis/upgrading-deis.rst \ |
38 | | - docs/reference/api-v1.7.rst \ |
39 | | - docs/troubleshooting_deis/index.rst \ |
40 | | - registry/Dockerfile \ |
41 | | - router/Dockerfile \ |
42 | | - store/base/Dockerfile \ |
43 | | - version/version.go |
44 | | -``` |
45 | | - |
46 | | -- Update the CHANGELOG to include all commits since the last release. Since |
47 | | - `contrib/util/generate-changelog.sh` only works for merges, you'll have |
48 | | - to manually add the changes to the CHANGELOG. |
49 | | - |
50 | | -- `git grep A.B.C` to ensure that no old version strings were missed |
51 | | - |
52 | | -- Commit and push the tag |
53 | | - |
54 | | - - `git commit -a -m 'chore(release): update version to vA.B.D'` |
55 | | - - `git tag vA.B.D` |
56 | | - - `git push --tags origin vA.B.D` |
57 | | - |
58 | | - |
59 | | -## Major or Minor Release |
60 | | - |
61 | | -- Move any open issues to the next [deis milestone][], then close this one |
62 | | -- Check out and update the Deis repo master branch |
63 | | - |
64 | | - - `git checkout master && git pull` |
65 | | - |
66 | | -- Bump the major or minor version numbers |
67 | | - |
68 | | -``` |
69 | | -$ ./contrib/bumpver/bumpver -f A.B.D-dev A.B.D \ |
70 | | - client/deis-version \ |
71 | | - controller/deis/__init__.py \ |
72 | | - deisctl/deis-version \ |
73 | | - docs/reference/api-v1.7.rst \ |
74 | | - version/version.go |
75 | | -
|
76 | | -$ ./contrib/bumpver/bumpver -f A.B.C A.B.D \ |
77 | | - README.md \ |
78 | | - contrib/utils.sh \ |
79 | | - docs/_includes/_get-the-source.rst \ |
80 | | - docs/installing_deis/install-deisctl.rst \ |
81 | | - docs/installing_deis/install-platform.rst \ |
82 | | - docs/managing_deis/upgrading-deis.rst \ |
83 | | - docs/troubleshooting_deis/index.rst |
84 | | -``` |
85 | | - |
86 | | - - Edit deisctl/client/client.go and change the default in the RefreshUnits usage string |
87 | | - (near the bottom of the file) from `[master]` to `[vA.B.D]`. |
88 | | - |
89 | | - - Find and replace "A.B.D-dev" with "A.B.D" in all project Dockerfiles. |
90 | | - |
91 | | -- Update the CHANGELOG to include all commits since the last release |
92 | | - |
93 | | - - `./contrib/util/generate-changelog.sh vA.B.C | cat - CHANGELOG.md > tmp && mv tmp CHANGELOG.md` |
94 | | - - change `HEAD` at the top to `vA.B.D` (the new release) |
95 | | - - remove any empty sections and proofread for consistency |
96 | | - |
97 | | -- `git grep A.B.C` to ensure that no old version strings were missed |
98 | | - |
99 | | -- Commit and push the tag to master |
100 | | - |
101 | | - - `git commit -a -m 'chore(release): update version to vA.B.D'` |
102 | | - - `git push origin master` |
103 | | - - `git tag vA.B.D` |
104 | | - - `git push --tags origin vA.B.D` |
105 | | - |
106 | | - |
107 | | -## Any Release |
108 | | - |
109 | | -- If this release includes a new component, configure [test-acceptance][] to publish it to Docker Hub |
110 | | - |
111 | | -- Trigger CI jobs manually at <https://ci.deis.io/>, specifying the new vA.B.D tag |
112 | | - |
113 | | - - build-deis-cli-installer-darwin |
114 | | - - build-deis-cli-installer-linux |
115 | | - - build-deisctl-installer-darwin |
116 | | - - build-deisctl-installer-linux |
117 | | - - *after* these client jobs finish, trigger test-acceptance |
118 | | - |
119 | | -- Update the installer scripts at [deis/deis.io][] to reference new version A.B.D |
120 | | - |
121 | | - - <https://github.com/deis/deis.io/blob/gh-pages/deis-cli/install.sh> |
122 | | - - <https://github.com/deis/deis.io/blob/gh-pages/deisctl/install.sh> |
123 | | - |
124 | | -- Update published doc versions at ReadTheDocs |
125 | | - |
126 | | - - log in to the <https://readthedocs.org/> admin |
127 | | - - add the current release to the published versions |
128 | | - - remove the oldest version from the list of published builds |
129 | | - - rebuild all published versions so their "Versions" index links update |
130 | | - |
131 | | -- Update #deis IRC channel topic to reference new version |
132 | | - |
133 | | - |
134 | | -## Patch Release |
135 | | - |
136 | | -- Bump the version numbers in master to the new release |
137 | | - |
138 | | -``` |
139 | | -./contrib/bumpver/bumpver -f A.B.C A.B.D \ |
140 | | - README.md \ |
141 | | - contrib/utils.sh \ |
142 | | - docs/_includes/_get-the-source.rst \ |
143 | | - docs/installing_deis/install-deisctl.rst \ |
144 | | - docs/installing_deis/install-platform.rst \ |
145 | | - docs/managing_deis/upgrading-deis.rst \ |
146 | | - docs/reference/api-v1.7.rst \ |
147 | | - docs/troubleshooting_deis/index.rst |
148 | | -``` |
149 | | - |
150 | | - - `git commit -a -m 'chore(release): update version in master to vA.B.D'` |
151 | | - - `git push origin master` |
152 | | - |
153 | | -- Create [release notes][] on GitHub |
154 | | - |
155 | | - - copy and paste the newly added CHANGELOG.md section as the body |
156 | | - - preface with an explanatory paragraph if necessary, for example to reference |
157 | | - security fixes or point out upgrade details |
158 | | - |
159 | | - |
160 | | -## Major or Minor Release |
161 | | - |
162 | | -- Edit deisctl/client/client.go and change the default in the RefreshUnits usage string |
163 | | - (near the bottom of the file) from `[vA.B.D]` to `[master]` |
164 | | -- Bump the version numbers in master to the next planned with `-dev` |
165 | | - |
166 | | -``` |
167 | | -$ ./contrib/bumpver/bumpver -f A.B.D A.B.E-dev \ |
168 | | - client/deis-version \ |
169 | | - controller/deis/__init__.py \ |
170 | | - deisctl/deis-version \ |
171 | | - version/version.go |
172 | | -``` |
173 | | - |
174 | | - - Find and replace "A.B.D" with "A.B.D-dev" in all project Dockerfiles. |
175 | | - - `git commit -a -m 'chore(release): update version in master to vA.B.D-dev'` |
176 | | - - `git push origin master` |
177 | | - |
178 | | -- Create release notes blog post at [deis/deis.io][] following previous formats |
179 | | -- Create [release notes][] at GitHub |
180 | | - |
181 | | - - copy and paste from the previous blog post |
182 | | - - remove Jekyll-specific headers and `<!-- more -->` tag |
183 | | - |
184 | | -- Update Slack channel topic to reference the next planned version |
185 | | - |
186 | | - |
187 | | -[deis milestone]: https://github.com/deis/deis/issues/milestones |
188 | | -[deis open issues]: https://github.com/deis/deis/issues?state=open |
189 | | -[changelog script]: https://github.com/deis/deis/blob/master/contrib/util/generate-changelog.sh |
190 | | -[release notes]: https://github.com/deis/deis/releases |
191 | | -[deis/deis.io]: https://github.com/deis/deis.io |
192 | | -[test-acceptance]: https://ci.deis.io/job/test-acceptance/configure |
| 3 | +TODO (krancour): rewrite for v2 |
0 commit comments