-
Notifications
You must be signed in to change notification settings - Fork 162
/
RELEASING.txt
122 lines (75 loc) · 3.03 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
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.
- Align the release number with deformdemo (setup.py, README.rst, CHANGES.txt).
- Do any necessary branch merges (e.g., main to branch, branch to main).
- On release branch:
git pull
- Make sure your Python has ``setuptools-git``, ``twine``, and ``wheel``
installed:
$VENV/bin/pip install setuptools-git twine wheel
- Do a platform test, run a check with black, ensure the PyPI long description
renders, and run check-manifest with the following command.
$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".
- 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 main, 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.
- Build an sdist and a wheel:
$TOX -e build
- Release the sdist and wheel to PyPI:
$VENV/bin/twine upload dist/deform-X.Y.Z*
- Upload a git tag for the release:
git tag X.Y.Z
git push origin X.Y.Z
- Add a release on Github.
https://github.com/Pylons/deform/releases
- Update RTD to render a new version of the docs at that tag X.Y.Z and set
X.Y.Z 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.X released.
PyPI
https://pypi.org/project/deform/2.X.X
Changes
https://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>>
Widget demos
https://deformdemo.pylonsproject.org/
Documentation
https://docs.pylonsproject.org/projects/deform/en/latest/
GitHub
https://github.com/pylons/deform
PyPI
https://pypi.org/project/deform/2.X.X
Enjoy, and please report any issues you find to the issue tracker at
https://github.com/Pylons/deform/issues
Thanks!
- Deform developers
```