7
7
*The release signing key for PyStan was created on 2017-01-01 and has
8
8
fingerprint C3542448245BEC68F43070E4CCB669D9761F0CAC. *
9
9
10
+ All steps except those described in "Tag Release" should be performed on a
11
+ server with a high-bandwidth connection to the Internet. About 1000MiB worth of
12
+ data will be uploaded to PyPi.
13
+
14
+ Tag Release
15
+ ===========
16
+
10
17
- Update release notes, ``doc/whats_new.rst ``.
11
18
- Double check version number in ``pystan/__init__.py ``
12
19
- Update version in snippet in ``doc/getting_started.rst ``, i.e., "wget ..."
@@ -23,22 +30,15 @@ fingerprint C3542448245BEC68F43070E4CCB669D9761F0CAC.*
23
30
- For example, ``git tag --sign v2.4.0.1 ``
24
31
- Push tag to github ``git push --tags ``
25
32
26
- - Assemble source distribution::
27
-
28
- ./build_dist.sh
29
-
30
- - Sign and upload source distribution::
33
+ Build source distribution
34
+ =========================
31
35
32
- twine upload --sign --identity C3542448245BEC68F43070E4CCB669D9761F0CAC dist/*.tar.gz
36
+ Assemble source distribution::
33
37
34
- If ``twine `` prompts for a username and password abort the process with
35
- Control-C and enter your PyPI credentials in ``$HOME/.pypirc ``. (For more
36
- details see the Python documention on `the .pypirc file
37
- <https://docs.python.org/3/distutils/packageindex.html#pypirc> `_.) Alternatively,
38
- one can set the environment variables ``TWINE_USERNAME `` and ``TWINE_PASSWORD ``.
38
+ ./build_dist.sh
39
39
40
40
Build Wheels
41
- ------------
41
+ ============
42
42
43
43
Linux and OSX: in the ``pystan-wheels `` repo update the ``pystan `` submodule
44
44
and bump the version in ``.travis.yml ``. Push changes.
@@ -56,31 +56,46 @@ After the wheels have finished building, download them from the Rackspace
56
56
storage bucket.
57
57
58
58
Use ``continuous_integration/download_wheels.sh `` to download all wheels into
59
- the directory ``wheels / ``.
59
+ the directory ``dist / ``.
60
60
61
- Sign Wheels
62
- -----------
61
+ Upload Source Distribution and Wheels to PyPI
62
+ =============================================
63
63
64
64
*NOTE: EXPERIMENTAL *
65
65
66
- As uploading wheels may take a long time on a low-bandwidth connection, it
67
- makes sense to sign all the wheels before uploading them::
66
+ - Sign source distribution and wheels::
67
+
68
+ for tarball in dist/*.tar.gz; do
69
+ gpg --detach-sign -a -u C3542448245BEC68F43070E4CCB669D9761F0CAC "$tarball"
70
+ done
68
71
69
- for whl in wheels /*.whl; do
72
+ for whl in dist /*.whl; do
70
73
gpg --detach-sign -a -u C3542448245BEC68F43070E4CCB669D9761F0CAC "$whl"
71
74
done
72
75
73
- Upload Wheels
74
- -------------
76
+ - Upload source distribution and wheels::
75
77
76
- *NOTE: EXPERIMENTAL *
78
+ twine upload --skip-existing dist/*.tar.gz dist/*.tar.gz.asc
79
+ twine upload --skip-existing dist/*.whl dist/*.whl.asc
77
80
78
- At this point, all the wheels have been signed. They only need to be uploaded
79
- to PyPI.
81
+ If ``twine `` prompts for a username and password abort the process with
82
+ Control-C and enter your PyPI credentials in ``$HOME/.pypirc ``. (For more
83
+ details see the Python documention on `the .pypirc file
84
+ <https://docs.python.org/3/distutils/packageindex.html#pypirc> `_.) Alternatively,
85
+ one can set the environment variables ``TWINE_USERNAME `` and ``TWINE_PASSWORD ``.
80
86
81
- ::
87
+ Uploading wheels may take a long time on a low-bandwidth connection.
82
88
83
- twine upload wheels/*.whl wheels/*.whl.asc
89
+ Post-release Tasks
90
+ ==================
91
+
92
+ Update Source
93
+ -------------
94
+
95
+ - Checkout the ``develop `` branch.
96
+ - Update version in ``pystan/__init__.py `` to ``<n.n.n.n+1>dev ``.
97
+ - Add placeholder for next release in ``doc/whats_new.rst ``.
98
+ - Commit changes and push ``develop ``.
84
99
85
100
Update Stan Website
86
101
-------------------
@@ -90,7 +105,6 @@ number in the following file needs to be incremented::
90
105
91
106
https://github.com/stan-dev/stan-dev.github.io/blob/master/citations/index.md
92
107
93
-
94
108
Make Release Announcement
95
109
-------------------------
96
110
@@ -105,10 +119,8 @@ PyStan 2.14.0.0 (subject is "pystan 2.14.0.0 released on PyPI")::
105
119
106
120
http://pystan.readthedocs.io/en/latest/whats_new.html
107
121
108
- After release
109
- =============
110
122
111
- - Checkout the `` develop `` branch.
112
- - Update version in `` pystan/__init__.py `` to `` <n.n.n.n>dev ``.
113
- - Add placeholder for next release in `` doc/whats_new.rst ``.
114
- - Commit changes and push `` develop `` .
123
+ TODO
124
+ ====
125
+
126
+ - Automate this entire process .
0 commit comments