summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-06-04 14:32:21 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-06-04 14:32:21 +0100
commitcc58a9f2a4ee99bd7c9dfc0d449dc5aa7a0f993f (patch)
treeb16a5ba4a3ad19efdeb9137bf5fbf4456df75a94
parentcbd34d0ad8662a862039b182bd5e2370aa4dfdff (diff)
downloadsandboxlib-cc58a9f2a4ee99bd7c9dfc0d449dc5aa7a0f993f.tar.gz
Add release process to HACKING.mdwn
-rw-r--r--HACKING.mdwn30
1 files changed, 28 insertions, 2 deletions
diff --git a/HACKING.mdwn b/HACKING.mdwn
index c118e30..4dcdc3b 100644
--- a/HACKING.mdwn
+++ b/HACKING.mdwn
@@ -1,11 +1,37 @@
The 'sandboxlib' library uses the PEP-8 coding style, as a guide.
+# Release process
+
+Basically, tag the commit you're going to release, build and upload a source
+distribution tarball to [PyPI], and then increment the version number.
+
+You need
+ - an account on PyPI with access to the 'sandboxlib' project
+ - push access to <https://github.com/codethinklabs/sandboxlib>
+
+Process:
+
+1. Run tests: `sudo tox`
+2. Create source distribution tarball: `python ./setup.py sdist`
+3. Upload to PyPI: `twine upload -u $PYPI_USERNAME -p $PYPI_PASSWORD dist/sandboxlib-0.0.0.tar.gz`
+4. Create and push tag: `git tag --annotate -m "sandboxlib version 0.0.0" 0.0.0 && git push --tags`
+
+I intend to follow [semantic versioning](http://www.semver.org/) and [PEP
+440](https://www.python.org/dev/peps/pep-0440/) when numbering versions of this
+library.
+
+For background on realising to the Python Package Index (PyPI), see:
+<https://packaging.python.org/en/latest/distributing.html>.
+
+[PyPI]: http://pypi.python.org/
+
# Running the automated test suite
Use `tox`. You'll need 'py.test', 'tox' and their dependencies available.
-Note that a lot of the tests will be skipped if you don't run as 'root',
-because some of the sandboxing backends only work when you are the 'root' user.
+Note that a lot of the tests will be skipped or fail if you don't run as
+'root', because some of the sandboxing backends only work when you are the
+'root' user. The test suite could handle this better than it does.
You can also run `PYTHONPATH=. py.test`, which is quicker but only tests with
a single version of Python, and runs in your host environment rather than a