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