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