Skip to content

Commit 10b13cb

Browse files
committed
Merge pull request #154 from grlee77/release_docs
DOC: add release procedures to developer documentation
2 parents 5aecacf + 09eb4ed commit 10b13cb

2 files changed

Lines changed: 114 additions & 0 deletions

File tree

doc/source/dev/how_to_release.rst

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
Guidelines for Releasing PyWavelets
2+
===================================
3+
4+
The following are guidelines for preparing a release of PyWavelets. The
5+
notation vX.X.X in the commands below would be replaced by the actual release
6+
number.
7+
8+
9+
updating the release notes
10+
--------------------------
11+
Prior to the release, make sure the release notes are up to date.
12+
13+
author lists can be generated via:
14+
15+
```python ./util/authors.py vP.P.P..```
16+
(where vP.P.P is the previous release number)
17+
18+
and the lists of Issues closed and PRs merged via:
19+
20+
```python ./util/gh_lists.py vX.X.X``` (script requires Python 2.X to run)
21+
22+
23+
Tag the release and trigger the build of Windows wheels
24+
-------------------------------------------------------
25+
26+
Change ISRELEASED to TRUE in `setup.py` and commit.
27+
28+
Appveyor will build wheels for windows. If the commit with ISRELEASED=True
29+
is submitted as a PR, the wheels can be downloaded from appveyor once it has
30+
run on the PR. They can be found under the "Artifacts" tab in the Appveyor
31+
interface. These should be downloaded so that they can later be uploaded to
32+
pypi.python.org.
33+
34+
35+
Tag the release via:
36+
37+
```git tag -s vX.X.X```
38+
39+
Then push the vX.X.X tag to master.
40+
41+
42+
Create the source distribution
43+
------------------------------
44+
45+
Remove untracked files and directories via git clean.
46+
**Warning:** This will delete files & directories that are not under version
47+
control so you may want to do a dry run first by adding -n, so you can see what
48+
will be removed:
49+
50+
```git clean -xfdn```
51+
52+
Then run without -n:
53+
54+
```git clean -xfd```
55+
56+
Create the source distribution files via:
57+
58+
```python setup.py sdist --formats=gztar,zip```
59+
60+
61+
Upload the release to pypi
62+
--------------------------
63+
64+
The binary Windows wheels downloaded from Appveyor (see above) should
65+
also be placed into the /dist subfolder along with the sdist archives.
66+
67+
The wheels and source distributions created above can all be securely uploaded
68+
to pypi.python.org using twine:
69+
70+
```twine upload -s dist/*```
71+
72+
73+
Upload the documentation to pypi
74+
--------------------------------
75+
The documentation on readthedocs (http://pywavelets.readthedocs.org) will have
76+
been automatically generated, but the documentation linked from pypi.python.org
77+
(http://pythonhosted.org/PyWavelets/) will need to be manually updated. This
78+
can be done by building the documentation locally and zipping 'doc/build/html'
79+
so that index.html is at the top level of the archive. This archive can then be
80+
uploaded in the "files" section of the PyWavelets page on pypi.
81+
82+
83+
Create the release on GitHub
84+
----------------------------
85+
On the project's github page, click the releases tab and then press the
86+
"Draft a new release" button to create a release from the appropriate tag.
87+
88+
89+
Announcing the release
90+
----------------------
91+
92+
Send release announcements to:
93+
94+
- https://groups.google.com/forum/#!forum/pywavelets (pywavelets@googlegroups.com)
95+
- python-announce-list@python.org
96+
- scipy-user@scipy.org
97+
98+
99+
Prepare for continued development
100+
---------------------------------
101+
102+
Increment the version number in setup.py and change ISRELEASED to False.
103+
104+
Prepare new release note files for theupcoming release:
105+
106+
```
107+
git add doc/release/X.X.X-notes.rst
108+
git add doc/source/release.X.X.X.rst
109+
```
110+
111+
And add release.X.X.X to the list in:
112+
113+
``` doc/source/releasenotes.rst ```

doc/source/dev/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ on Windows and Linux.
1616
installing_build_dependencies
1717
building_extension
1818
testing
19+
how_to_release
1920

2021
Something not working?
2122
----------------------

0 commit comments

Comments
 (0)