MANIFEST.in file
[datasette-pytables.git] / RELEASING.md
1 # Releasing datasette-pytables
2
3 Author: Javier Sancho, Francesc Alted
4 Contact: jsf@jsancho.org, francesc@blosc.org
5 Date: 2018-06-01
6
7
8 ## Preliminaries
9
10 * Update the version number at ``VERSION`` and ``ANNOUNCE.md``.
11
12 * Make sure that ``RELEASE_NOTES.md`` and ``ANNOUNCE.md`` are up to
13   date with the latest news in the release.
14
15 * Commit your changes:
16
17 ```
18     $ git commit -a -m"Getting ready for X.Y.Z final"
19 ```
20
21 * Once a year: check that the copyright year in `LICENSE` file.
22
23
24 ## Tagging
25
26 * Create a tag ``vX.Y.Z`` from ``master``.  Use the next message:
27
28 ```
29     $ git tag -a vX.Y.Z -m "Tagging version X.Y.Z"
30 ```
31
32   Note: For release candidates, just add a rcN suffix to tag ("vX.Y.ZrcN").
33
34 * Or, alternatively, make a signed tag (requires gpg correctly configured):
35
36 ```
37     $ git tag -s vX.Y.Z -m "Tagging version X.Y.Z"
38 ```
39
40 * Push the tag to the Github repo:
41
42 ```
43     $ git push
44     $ git push --tags
45 ```
46
47
48 ## Testing
49
50 * Go to the root directory and run:
51
52 ```
53     $ pytest
54 ```
55
56
57 ## Packaging
58
59 * Make sure that you are in a clean directory.  The best way is to
60   re-clone and re-build:
61
62 ```
63   $ cd /tmp
64   $ git clone https://github.com/PyTables/datasette-pytables
65   $ cd datasette-pytables
66   $ python setup.py build
67   $ pytest
68 ```
69
70 * Make the tarball with the command:
71
72 ```
73   $ python setup.py sdist
74 ```
75
76 Do a quick check that the tarball is sane.
77
78
79 ## Uploading
80
81 * Upload it also in the PyPi repository:
82
83 ```
84     $ python setup.py sdist upload
85 ```
86
87
88 ## Announcing
89
90 * Send an announcement to the python-announce, python-users and pydata
91   lists.  Use the ``ANNOUNCE.md`` file as skeleton (or possibly as
92   the definitive version).
93
94 * Tweet about the new release and rejoice!
95
96
97 ## Post-release actions
98
99 * Create new headers for adding new features in ``RELEASE_NOTES.rst``
100   and add this place-holder instead:
101
102   #XXX version-specific blurb XXX#
103
104 * Commit your changes with:
105
106 ```
107   $ git commit -a -m"Post X.Y.Z release actions done"
108 ```
109
110
111 That's all folks!