Steve Piercy
2017-06-27 7eeb5598717ec7f1523643ef9ef5a0c35847040f
commit | author | age
66fcbf 1 Releasing Pyramid
CM 2 =================
3
9a7510 4 - For clarity, we define releases as follows.
SP 5
6   - Alpha, beta, dev and similar statuses do not qualify whether a release is
7     major or minor. The term "pre-release" means alpha, beta, or dev.
8
4888fc 9   - A release is final when it is no longer pre-release.
SP 10
9a7510 11   - A *major* release is where the first number either before or after the
SP 12     first dot increases. Examples: 1.6 to 1.7a1, or 1.8 to 2.0.
13
14   - A *minor* or *bug fix* release is where the number after the second dot
15     increases. Example: 1.6 to 1.6.1.
4888fc 16
SP 17 Prepare new release branch
18 --------------------------
19
20 - Create a new release branch, incrementing the version number.
9a7510 21
SP 22 - Do any necessary branch merges (e.g., master to branch, branch to master).
629d19 23
CM 24 - On release branch:
25
26   $ git pull
ad508e 27
47a6bb 28 - Do platform test via tox:
CM 29
629d19 30   $ tox -r
47a6bb 31
aa1c9b 32   Make sure statement coverage is at 100% (the test run will fail if not).
66fcbf 33
fd9110 34 - Run tests on Windows if feasible.
66fcbf 35
317562 36 - Make sure all scaffold tests pass (Py 2.7, 3.3, 3.4, 3.5, and pypy on UNIX;
MM 37   this doesn't work on Windows):
d6cc11 38
aa1c9b 39   $ ./scaffoldtests.sh
d6cc11 40
66fcbf 41 - Ensure all features of the release are documented (audit CHANGES.txt or
CM 42   communicate with contributors).
43
4888fc 44 - Change CHANGES.txt heading to reflect the new version number.
SP 45
66fcbf 46 - Copy relevant changes (delta bug fixes) from CHANGES.txt to
c0fdec 47   docs/whatsnew-X.X (if it's a major release).  Minor releases should
TT 48   include a link under "Bug Fix Releases" to the minor feature
30884b 49   changes in CHANGES.txt.
66fcbf 50
a9f92b 51 - Update README.rst to use correct versions of badges and URLs according to
bbbcfb 52   each branch and context, i.e., RTD "latest" == GitHub/Travis "1.x-branch".
SP 53
fa16cb 54 - Update whatsnew-X.X.rst in docs to point at change log entries for individual
CM 55   releases if applicable.
56
19af3f 57 - For major version releases, in contributing.md, update branch descriptions.
SP 58
a9f92b 59 - For major version releases, in docs/conf.py, update values under
SP 60   html_theme_options for in_progress and outdated across master, releasing
48738d 61   branch, and previously released branch. Also in the previously released
SP 62   branch only, uncomment the sections to enable pylons_sphinx_latesturl.
a9f92b 63
4888fc 64 - Change setup.py version to the release version number.
66fcbf 65
CM 66 - Make sure PyPI long description renders (requires ``collective.dist``
67   installed into your Python)::
68
629d19 69   $ python setup.py check -r
66fcbf 70
CM 71 - Create a release tag.
72
30884b 73 - Make sure your Python has ``setuptools-git``, ``twine``, and ``wheel``
b9298c 74   installed and release to PyPI::
66fcbf 75
b9298c 76   $ python setup.py sdist bdist_wheel
MM 77   $ twine upload dist/pyramid-X.X-*
66fcbf 78
4888fc 79 - Configure RTD to publish the new release version of the docs.
SP 80
81 Prepare master for further development (major releases only)
82 ------------------------------------------------------------
83
84 - Checkout master.
85
86 - In CHANGES.txt, preserve headings but clear out content. Add heading
87   "unreleased" for the version number.
88
89 - From the release branch, forward port the changes in CHANGES.txt to
90   HISTORY.txt.
91
92 - In contributing.md, forward port branch descriptions from release branch.
93
94 - In docs/conf.py, add a commented line under
95   pylons_sphinx_latesturl_pagename_overrides for the release.
96
97 - Change setup.py version to the next version number.
98
99 Update previous version (final releases only)
100 ---------------------------------------------
101
102 - In docs/conf.py, update values under html_theme_options for in_progress and
103   outdated. Uncomment the sections to enable pylons_sphinx_latesturl.
104
105 - Configure RTD to point the "latest" alias to the new release version of the
106   docs.
107
108 Marketing and communications
109 ----------------------------
110
daa0e4 111 - Edit Pylons/pylonshq/templates/home/home.mako.
84ccda 112
daa0e4 113 - Edit Pylons/pylonshq/templates/home/inside.rst for major releases only.
84ccda 114
daa0e4 115 - Edit Pylons/trypyramid.com/src/templates/resources.html for major releases
f8309d 116   only.
SP 117
daa0e4 118 - Edit Pylons/pylonsrtd/pylonsrtd/docs/pyramid.rst for major releases only.
84ccda 119
66fcbf 120 - Edit `http://wiki.python.org/moin/WebFrameworks
CM 121   <http://wiki.python.org/moin/WebFrameworks>`_.
122
e8ec8c 123 - Edit `https://en.wikipedia.org/wiki/Pylons_project <https://en.wikipedia.org/wiki/Pylons_project>`_.
SP 124
4888fc 125 - Announce to Twitter.
SP 126
127 ```
128 Pyramid 1.x released.
129
130 PyPI
131 https://pypi.python.org/pypi/pyramid/1.x
132
bb94a5 133 === One time only for new version, first pre-release ===
4888fc 134 What's New
023b6b 135 http://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/whatsnew-1.X.html
bb94a5 136 === For all subsequent pre-releases ===
SP 137 Changes
138 http://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/changes.html#version-yyyy-mm-dd
4888fc 139
SP 140 Issues
141 https://github.com/Pylons/pyramid/issues
142 ```
66fcbf 143
CM 144 - Announce to maillist.
145
4888fc 146 ```
169dba 147 Pyramid 1.X.X has been released.
5aeb91 148
CM 149 Here are the changes:
150
151 <<changes>>
152
d6b2c6 153 What's New In Pyramid 1.X:
SP 154 http://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/whatsnew-1.X.html
5aeb91 155
d6b2c6 156 1.X release documentation (across all alphas and betas, as well as when it gets
SP 157 to final release):
158 http://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/
5aeb91 159
CM 160 You can install it via PyPI:
161
4888fc 162   pip install Pyramid==1.X
5aeb91 163
CM 164 Enjoy, and please report any issues you find to the issue tracker at
165 https://github.com/Pylons/pyramid/issues
166
167 Thanks!
168
4888fc 169 - Pyramid core developers
SP 170 ```