Build Automation and Deployment

Manual Builds

The build and test processes are implemented in CSB itself. Use csb.build to build, test and package the entire project:

$ python csb/build.py -o <output directory>

This will produce a standard installable release package. If Epydoc is installed, our HTML API docs will be compiled and included as well.

Build and Test Automation

Under a Continuous Integration model (CI), CSB should be built and tested after each commit). CI builds can be configured using a simple Travis CI job which runs the csb/build.py program at regular intervals using arbitrary Python interpreter versions (Python 2.7 and 3.6 by default). To automate this task, we provide a Travis CI job configuration, which performs the following:

Release Management

Note: When testing a release package, make sure it does not interfere with other releases that might be installed on the same machine. This is achieved by installing the package in a virtual environment. Here is an example with anaconda:

$ conda create -n test python=2.7
$ pip install csb-x.y.z
$ csb-test

Follow these steps to build and deploy a new release:

Tag and build the release

Push to GitHub

Publish