Files
deb-python-cassandra-driver/README-dev.rst
2014-02-19 11:53:20 -06:00

1.9 KiB

Releasing

  • Run the tests and ensure they all pass

  • Update CHANGELOG.rst

  • Update the version in cassandra/__init__.py

  • Commit the changelog and version changes

  • Tag the release. For example: git tag -a 1.0.0 -m 'version 1.0.0'

  • Push the commit and tag: git push --tags origin master

  • Upload the package to pypi:

    python setup.py register
    python setup.py sdist upload
  • Update the docs (see below)

  • Append a 'post' string to the version tuple in cassandra/__init__.py so that it looks like (x, y, z, 'post')

  • Commit and push

Building the Docs

Sphinx is required to build the docs. You probably want to install through apt, if possible:

sudo apt-get install python-sphinx

pip may also work:

sudo pip install -U Sphinx

To build the docs, run:

python setup.py doc

To upload the docs, checkout the gh-pages branch (it's usually easier to clone a second copy of this repo and leave it on that branch) and copy the entire contents all of docs/_build/X.Y.Z/* into the root of the gh-pages branch and then push that branch to github.

For example:

python setup.py doc
cp -R docs/_build/1.0.0-beta1/* ~/python-driver-docs/
cd ~/python-driver-docs
git push origin gh-pages

Running the Tests

In order for the extensions to be built and used in the test, run:

python setup.py nosetests

You can run a specific test module or package like so:

python setup.py nosetests -w tests/unit/

If you want to test all of python 2.6, 2.7, and pypy, use tox (this is what TravisCI runs):

tox

By default, tox only runs the unit tests because I haven't put in the effort to get the integration tests to run on TravicCI. However, the integration tests should work locally. To run them, edit the following line in tox.ini:

commands = {envpython} setup.py build_ext --inplace nosetests --verbosity=2 tests/unit/

and change tests/unit/ to tests/.