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