forked from Pylons/deform
-
Notifications
You must be signed in to change notification settings - Fork 1
/
RELEASING.txt
129 lines (80 loc) · 3.36 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
Distributing a new release
==========================
- 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: 0.9.0 to 2.0.
- A *minor* or *bug fix* release is where the number after the second dot
increases. Example: 2.0 to 2.0.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:
- Make sure your Python has ``setuptools-git``, ``twine``, and ``wheel``
installed:
$ $VENV/bin/easy_install setuptools-git twine wheel
- Do a platform test:
$ tox -r
- 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.
- Update README.rst to use correct versions of badges and URLs according to
each branch and context, i.e., RTD "latest" == GitHub/Travis "2.0-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)::
$ $VENV/bin/python setup.py check -r
- Build an sdist and a wheel:
$ $VENV/bin/python setup.py sdist bdist_wheel
- Release the wheels to PyPI:
$ $VENV/bin/twine upload dist/deform-X.Y*
- Upload a git tag for the release:
$ git tag X.Y
$ git push origin X.Y
- Update RTD to render a new version of the docs at that tag X.Y and set X.Y
as the default branch such that /latest/ points to it.
- Publish new version of docs.
- Update deform demo site
- Announce to Twitter.
```
Deform 2.x released.
PyPI
https://pypi.python.org/pypi/deform/2.x
=== One time only for new version, first pre-release ===
What's New
http://docs.pylonsproject.org/projects/deform/en/2.x-branch/whatsnew-2.X.html
=== For all subsequent pre-releases ===
Changes
http://docs.pylonsproject.org/projects/deform/en/2.X-branch/changes.html#version-yyyy-mm-dd
Issues
https://github.com/Pylons/deform/issues
```
- Announce to maillist.
```
Deform 2.X.X has been released.
Here are the changes:
<<changes>>
What's New In Deform 2.X:
http://docs.pylonsproject.org/projects/deform/en/1.X-branch/whatsnew-2.X.html
2.X release documentation (across all alphas and betas, as well as when it gets
to final release):
http://docs.pylonsproject.org/projects/deform/en/2.X-branch/
You can install it via PyPI:
pip install deform==1.X
Enjoy, and please report any issues you find to the issue tracker at
https://github.com/Pylons/deform/issues
Thanks!
- Deform core developers
```