Skip to content

Commit 0171cc5

Browse files
committed
Updated release procedure doc for upcoming v0.5.1.
1 parent f67bdee commit 0171cc5

2 files changed

Lines changed: 96 additions & 71 deletions

File tree

client/README.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ Get Started
7575
7676
$ sudo pip install deis
7777
78+
If you don't have `Python`_ installed, you can download a binary executable
79+
version of the Deis client for Mac OS X, Windows, or Debian Linux:
80+
81+
- https://s3-us-west-2.amazonaws.com/opdemand/deis-osx-0.5.1.tgz
82+
- https://s3-us-west-2.amazonaws.com/opdemand/deis-win64-0.5.1.zip
83+
- https://s3-us-west-2.amazonaws.com/opdemand/deis-deb-wheezy-0.5.1.tgz
7884

7985
2. `Register a User`_:
8086

@@ -125,6 +131,7 @@ Get Started
125131
To learn more, use ``deis help`` or browse `the documentation`_.
126132

127133
.. _`Install the Client`: http://docs.deis.io/en/latest/developer/install-client/
134+
.. _`Python`: http://www.python.org/
128135
.. _`Register a User`: http://docs.deis.io/en/latest/developer/register-user/
129136
.. _`Deploy an Application`: http://docs.deis.io/en/latest/developer/deploy-application/
130137
.. _`Manage an Application`: http://docs.deis.io/en/latest/developer/manage-application/

docs/contributing/releases.rst

Lines changed: 89 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -4,98 +4,116 @@
44

55
.. _releases:
66

7-
Releases
8-
========
9-
10-
When the maintainers create a new Deis release, here are the steps involved:
11-
12-
13-
GitHub Issues
14-
-------------
15-
16-
- create next `milestone`_
17-
- roll unfinished issues (if there are any) into next milestone
18-
- close current release milestone
19-
20-
21-
Other Repos
22-
-----------
23-
24-
- TBD
25-
26-
27-
Chef Repo
28-
---------
29-
30-
- merge master into release branch locally
31-
* ``git checkout release``
32-
* ``git merge master``
33-
- change chef attributes to latest tags in attributes/default.rb
34-
* default.deis.gitosis.revision
35-
* default.deis.controller.revision
36-
* (default.deis.build.revision for slugbuilder stays at master)
37-
- ``knife cookbook metadata .`` to update metadata.json
38-
- commit and push the opdemand/deis-cookbook release and tag
7+
Release Checklist
8+
=================
9+
10+
These instructions are to assist the Deis maintainers with creating a new Deis
11+
product release.
12+
13+
.. image:: http://upload.wikimedia.org/wikipedia/commons/3/37/Grace_Hopper_and_UNIVAC.jpg
14+
:width: 220
15+
:height: 193
16+
:align: right
17+
:alt: Grace Hopper and UNIVAC, from the Wikimedia Commons
18+
19+
Please keep this document up-to-date with any changes in this process.
20+
21+
opdemand/deis-cookbook Chef Repo
22+
--------------------------------
23+
- Create the next `deis-cookbook milestone`_
24+
- Move any `deis-cookbook open issues`_ from the current release to the
25+
next milestone
26+
- Close the current `deis-cookbook milestone`_
27+
- Merge git master into release branch locally
28+
* ``git checkout release && git merge master``
29+
- Run ``knife cookbook metadata .`` to update **metadata.json**. **DOUBLE-CHECK
30+
the generated file after this step--this may be broken currently.**
31+
- Commit, push, and tag the opdemand/deis-cookbook release
3932
* ``git commit -a -m 'Updated for vX.Y.Z release.'``
4033
* ``git push origin release``
4134
* ``git tag vX.Y.Z``
4235
* ``git push --tags origin vX.Y.Z``
43-
- update opscode community cookbook
44-
* cd to parent dir of deis-cookbook
36+
- Update the deis Opscode Community cookbook
37+
* ``cd`` to the parent dir of the deis-cookbook repository
4538
* ``cp -pr deis-cookbook /tmp/deis && cd /tmp``
4639
* ``tar cvfz deis-cookbook-vX.Y.Z.tar.gz --exclude='deis/.*' deis``
47-
* log in to community.opscode.com and upload tarball
40+
* log in to the `Opscode Community`_ site and upload the
41+
**/tmp/deis-cookbook-vX.Y.Z.tar.gz** tarball
4842
- switch master to upcoming release
4943
* ``git checkout master``
50-
* change cookbook revisions in metadata.rb to *next* version
51-
* ``git commit -a -m 'Switch master to vA.B.C.'`` (next version)
44+
* change **version** string in metadata.rb to *next* version
45+
* ``git commit -a -m 'Switch master to vA.B.C.'`` (**next** version)
5246
* ``git push origin master``
5347

54-
55-
Deis Repo
56-
---------
57-
58-
- merge master into release branch locally
59-
* ``git checkout release``
60-
* ``git merge master``
61-
- update berksfile with new release
62-
* ensure Berksfile is pointing to opscode community cookbook
63-
* ``berks update && berks install`` to update Berksfile.lock
64-
- commit and push the opdemand/deis release and tag
48+
opdemand/deis Server Repo
49+
-------------------------
50+
- Create the next `deis milestone`_
51+
- Move any `deis open issues`_ from the current release to the
52+
next milestone
53+
- Close the current `deis milestone`_
54+
- Merge git master into release branch locally
55+
* ``git checkout release && git merge master``
56+
- Update Berksfile with new release
57+
* edit **Berksfile** and ensure it points to the Opscode Community cookbook
58+
for Deis
59+
* ``berks update && berks install`` to update **Berksfile.lock**
60+
- Commit and push the opdemand/deis release and tag
6561
* ``git commit -a -m 'Updated for vX.Y.Z release.'``
6662
* ``git push origin release``
6763
* ``git tag vX.Y.Z``
6864
* ``git push --tags origin vX.Y.Z``
69-
- publish CLI to pypi.python.org
65+
- Publish CLI to pypi.python.org
7066
- ``cd client && python setup.py sdist upload``
7167
- use testpypi.python.org first to ensure there aren't any problems
72-
- create CLI binaries for Windows and Mac OS X
68+
- Create CLI binaries for Windows, Mac OS X, Debian
7369
- ``pip install pyinstaller && make client_binary``
74-
- use Mac OS X 10.8 to avoid LLVM errors for others
75-
- upload to aws-eng S3 bucket, set as publically downloadable
76-
- switch master to upcoming release
70+
- build **deis-osx-X.Y.Z.tgz** on Mac OS X 10.8 for all Macs (10.9 uses
71+
LLVM, which makes our binary crash on earlier OS versions)
72+
- build **deis-win64-X.Y.Z.zip** on Windows 7 64-bit
73+
- build **deis-deb-wheezy-X.Y.Z.tgz** on Debian Wheezy
74+
(see https://github.com/opdemand/deis/issues/504)
75+
- upload all binaries to the `aws-eng S3 bucket`_ and set each as
76+
publically downloadable
77+
- Switch master to upcoming release
7778
* ``git checkout master``
7879
* update __version__ fields in Python packages to *next* version
7980
* switch from opscode community cookbook back to github cookbook
8081
* ``berks update && berks install`` to update Berksfile.lock
81-
* ``git commit -a -m 'Switch master to vA.B.C.'`` (next version)
82+
* ``git commit -a -m 'Switch master to vA.B.C.'`` (**next** version)
8283
* ``git push origin master``
8384

84-
Docs
85-
----
86-
- create release notes docs
87-
- follow format of previous `release notes`_
88-
- summarize all work done
89-
- what's next and future directions
90-
- publish docs to http://docs.deis.io (deis.readthedocs.org)
91-
- visit readthedocs.org admin and add this release to published builds
92-
- Rebuild *all* published versions so their "Versions" index is updated
93-
- publish docs to pythonhosted.org/deis
94-
- from the project root, run ``make -C docs clean zipfile``
95-
- zipfile will be at *docs/docs.zip*
96-
- log in and use web form at https://pypi.python.org/pypi/deis/
97-
to upload zipfile
98-
99-
100-
.. _`milestone`: https://github.com/opdemand/deis/issues/milestones
85+
Documentation
86+
-------------
87+
- Docs are automatically published to http://docs.deis.io (the preferred alias
88+
for deis.readthedocs.org)
89+
- Log in to the http://deis.readthedocs.org admin
90+
* add the current release to the list of published builds
91+
* rebuild all published versions so their "Versions" index links
92+
are updated
93+
- Publish docs to pythonhosted.org/deis
94+
* from the project root, run ``make -C docs clean zipfile``
95+
* the zipfile will be at **docs/docs.zip**
96+
* log in to http://pypi.python.org/ and use the web form at the
97+
`Deis Pypi`_ page to upload the zipfile
98+
- Check documentation for deis/* projects at the `Docker Index`_
99+
* click "Settings" for each project (deis/server, deis/cache, etc.)
100+
* paste the contents of each README.md into the "long description" field if
101+
there are discrepencies. (These don't automatically sync up after the
102+
Trusted Build is first created.)
103+
- Create release notes docs
104+
* follow the format of previous `release notes`_
105+
* summarize all work done since the previous release
106+
* visit all opdemand/* and deis/* project issues to make sure we don't
107+
miss any contributors for the "Community Shout-Outs" section
108+
* include "what's next" and "future directions" sections
109+
110+
111+
.. _`deis-cookbook milestone`: https://github.com/opdemand/deis-cookbook/issues/milestones
112+
.. _`deis-cookbook open issues`: https://github.com/opdemand/deis-cookbook/issues?state=open
113+
.. _`Opscode Community`: http://community.opscode.com/cookbooks/deis/versions/new
114+
.. _`deis milestone`: https://github.com/opdemand/deis/issues/milestones
115+
.. _`deis open issues`: https://github.com/opdemand/deis/issues?state=open
101116
.. _`release notes`: https://github.com/opdemand/deis/releases
117+
.. _`aws-eng S3 bucket`: https://s3-us-west-2.amazonaws.com/opdemand/
118+
.. _`Deis Pypi`: https://pypi.python.org/pypi/deis/
119+
.. _`Docker Index`: https://index.docker.io/

0 commit comments

Comments
 (0)