Steve Piercy
2018-09-22 e22970cd21eb36c2a658c843bb5cb4f59d77fd19
commit | author | age
66fcbf 1 Releasing Pyramid
CM 2 =================
3
7c9eab 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
a575d1 9   - A release is final when it is no longer pre-release.
SP 10
7c9eab 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.
a575d1 16
SP 17 Prepare new release branch
18 --------------------------
19
20 - Create a new release branch, incrementing the version number.
7c9eab 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
c8a5e0 36 - Make sure all scaffold tests pass (CPython 2.7, 3.4, 3.5, and 3.6, and PyPy
SP 37   on UNIX; 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
a575d1 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
f511f3 51 - Update README.rst to use correct versions of badges, URLs, and ALT option
5307e3 52   according to the new release branch name.
bbbcfb 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
a575d1 64 - Change setup.py version to the release version number.
66fcbf 65
3685f2 66 - Make sure PyPI long description renders (requires ``readme_renderer``
MM 67   installed into your Python)::
66fcbf 68
9cb0f0 69   $ python setup.py check -r -s -m
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
a575d1 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
b5237a 86 - In CHANGES.txt, preserve headings but clear out content. Add heading
SP 87   "unreleased" for the version number.
a575d1 88
SP 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
5307e3 99 - Update README.rst to use correct versions of badges, URLs, and ALT option
SP 100   for "master" instead of the major release version.
101
a575d1 102 Update previous version (final releases only)
SP 103 ---------------------------------------------
104
105 - In docs/conf.py, update values under html_theme_options for in_progress and
106   outdated. Uncomment the sections to enable pylons_sphinx_latesturl.
107
108 - Configure RTD to point the "latest" alias to the new release version of the
109   docs.
110
111 Marketing and communications
112 ----------------------------
113
9cb0f0 114 - Edit Pylons/trypyramid.com/src/templates/resources.html for major releases,
SP 115   pre-releases, and once pre-releases are final.
84ccda 116
66fcbf 117 - Edit `http://wiki.python.org/moin/WebFrameworks
CM 118   <http://wiki.python.org/moin/WebFrameworks>`_.
119
1692f2 120 - Edit `https://en.wikipedia.org/wiki/Pylons_project <https://en.wikipedia.org/wiki/Pylons_project>`_.
SP 121
a575d1 122 - Announce to Twitter.
SP 123
124 ```
125 Pyramid 1.x released.
126
127 PyPI
299a9e 128 https://pypi.org/project/pyramid/1.x/
a575d1 129
9b4eed 130 === One time only for new version, first pre-release ===
a575d1 131 What's New
1c561a 132 https://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/whatsnew-1.X.html
9b4eed 133 === For all subsequent pre-releases ===
SP 134 Changes
1c561a 135 https://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/changes.html#version-yyyy-mm-dd
a575d1 136
SP 137 Issues
138 https://github.com/Pylons/pyramid/issues
139 ```
66fcbf 140
CM 141 - Announce to maillist.
142
a575d1 143 ```
169dba 144 Pyramid 1.X.X has been released.
5aeb91 145
CM 146 Here are the changes:
147
148 <<changes>>
149
314636 150 What's New In Pyramid 1.X:
1c561a 151 https://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/whatsnew-1.X.html
5aeb91 152
314636 153 1.X release documentation (across all alphas and betas, as well as when it gets
SP 154 to final release):
1c561a 155 https://docs.pylonsproject.org/projects/pyramid/en/1.X-branch/
5aeb91 156
CM 157 You can install it via PyPI:
158
a575d1 159   pip install Pyramid==1.X
5aeb91 160
CM 161 Enjoy, and please report any issues you find to the issue tracker at
162 https://github.com/Pylons/pyramid/issues
163
164 Thanks!
165
a575d1 166 - Pyramid core developers
SP 167 ```