Information for uap Developers

Documentation

The official documentation is hosted on readthedocs (add link). But as developer you need to be able to create the documentation locally. So let’s focus at first on:

Create Documentation Locally

For testing purposes its necessary to be able to build the documentation on your local machine. Follow the instructions below.

Prerequisites

Before the documentation can be build, we need to install some packages and libraries.

The documentation is build with Sphinx, so install it (for Ubuntu):

$ sudo aptitude install python-sphinx

The uap documentation requires the psutil python library to be available in your global python environment:

$ sudo pip install psutil

It also requires the readthedocs theme installed (for Ubuntu):

$ sudo aptitude install python-sphinx-rtd-theme sphinx-rtd-theme-common

Build Documentation

The documentation can be build by:

$ cd doc
$ make html

This should do the trick.

Create Documentation on RTD

Commit your changes to one of the branches that are configured for automatic builds via RTD. Push your commits to the yigbt-repository. This should do the trick.

If you are not allowed to directly push your commits. Please provide a pull request via github. This should do the trick as well.

Continuous Integration

At the moment we use Travis CI as continuous integration platform. The goal is to test as many step use cases as possible. Travis installs uap in a clean Docker image. Installation instructions for software that needs to be installed additionally, needs to be provided you want to install

.travis.yml

This file contains the test matrix, the commands executed before installing uap, the commands executed to install uap and the commands which are executed to perform the tests you are interested in.

At the moment most of the subcommands are tested on Travis CI using a dummy workflow.

travis_uap_config.yaml

The dummy workflow we use to test steps is defined in the file example-configurations/travis-example/travis_uap_config.yaml. So if you create a new step, please add it to this configuration file. Provide as many step configurations as you think are appropriate.