]> git.jsancho.org Git - datasette-connectors.git/blobdiff - RELEASING.md
Text files
[datasette-connectors.git] / RELEASING.md
diff --git a/RELEASING.md b/RELEASING.md
new file mode 100644 (file)
index 0000000..6cb7b52
--- /dev/null
@@ -0,0 +1,119 @@
+# Releasing datasette-connectors
+
+Author: Javier Sancho, Francesc Alted
+Contact: jsf@jsancho.org, francesc@blosc.org
+Date: 2018-10-04
+
+
+## Preliminaries
+
+* Update the version number at ``VERSION`` and ``ANNOUNCE.md``.
+
+* Make sure that ``RELEASE_NOTES.md`` and ``ANNOUNCE.md`` are up to
+  date with the latest news in the release.
+
+* Commit your changes:
+
+```
+    $ git commit -a -m"Getting ready for X.Y.Z final"
+```
+
+* Once a year: check that the copyright year in `LICENSE` file.
+
+
+## Tagging
+
+* Create a tag ``vX.Y.Z`` from ``master``.  Use the next message:
+
+```
+    $ git tag -a vX.Y.Z -m "Tagging version X.Y.Z"
+```
+
+  Note: For release candidates, just add a rcN suffix to tag ("vX.Y.ZrcN").
+
+* Or, alternatively, make a signed tag (requires gpg correctly configured):
+
+```
+    $ git tag -s vX.Y.Z -m "Tagging version X.Y.Z"
+```
+
+* Push the tag to the Github repo:
+
+```
+    $ git push
+    $ git push --tags
+```
+
+* Do the official release.  Go to:
+
+https://github.com/PyTables/datasette-connectors/releases/edit/vX.Y.Z
+
+and add the title for the release (vX.Y.Z) and the release notes there.
+
+
+## Testing
+
+* Go to the root directory and run:
+
+```
+    $ pytest
+```
+
+
+## Packaging
+
+* Make sure that you are in a clean directory.  The best way is to
+  re-clone and re-build:
+
+```
+  $ cd /tmp
+  $ git clone https://github.com/PyTables/datasette-connectors
+  $ cd datasette-connectors
+  $ python setup.py build
+  $ pytest
+```
+
+* Make the tarball with the command:
+
+```
+  $ python setup.py sdist
+```
+
+Do a quick check that the tarball is sane.
+
+
+## Uploading
+
+* Upload it also in the PyPi repository:
+
+```
+    $ python setup.py sdist upload
+```
+
+
+## Announcing
+
+* Send an announcement to the pytables-announce, pytables-users and pydata
+  lists.  Use the ``ANNOUNCE.md`` file as skeleton (or possibly as
+  the definitive version).
+
+* Tweet about the new release and rejoice!
+
+
+## Post-release actions
+
+* Create new headers for adding new features in ``RELEASE_NOTES.rst``
+  and add this place-holder instead:
+
+  #XXX version-specific blurb XXX#
+
+* Update ``VERSION`` file to X.Y.(Z+1)-dev
+
+* Commit your changes with:
+
+```
+  $ git commit -a -m"Post X.Y.Z release actions done"
+```
+
+
+That's all folks!