Libtaskotron Documentation

What is libtaskotron?

Libtaskotron is one of the core components which make up the Taskotron system. Libtaskotron is responsible for running tasks written in Taskotron Task YAML Format.

While libtaskotron was designed for use with Fedora, the Fedora specific parts are isolated and the core should be usable with any recent Linux distribution.

Libtaskotron and Taskotron should be considered Alpha software. They are currently under very heavy development and will likely change until we stabilize the interfaces.

What Can I Do With Taskotron?

In theory, there is little that cannot be done in Taskotron; by design, it is a system and framework for running semi-arbitrary tasks. That being said, there is a limit to what we currently support. If there is some feature or language that you’d like to see added to Taskotron, let us know through Contact Us or filing a feature request (Bugs, Issues and Tasks).

Task Languages

Currently, the only language supported for tasks is Python. However, Taskotron is designed to work on text-based interactions between the runner and other units of work. Once the runner matures more, support for additional languages may be added.

Directives

A Taskotron task is made up of Directives which control what can be done in a task. See the list of available Directives to learn more about what is currently available.

Install Libtaskotron

In order to run any tasks locally, libtaskotron must first be installed. While not currently in the main Fedora repositories, it is available in a side repo which is updated as new versions are released. To enable this repo:

sudo wget http://copr-fe.cloud.fedoraproject.org/coprs/tflink/taskotron/repo/fedora-20-i386/tflink-taskotron-fedora-20-i386.repo -O /etc/yum.repos.d/tflink-taskotron-fedora-20-i386.repo

Once the repository is enabled, install libtaskotron with:

sudo yum install libtaskotron

Running Tasks

Using rpmlint as an example, the task repository contains the following:

task-rpmlint/
    readme.rst
    rpmlint.py
    rpmlint.yml

Rpmlint runs off of koji builds, so to run it against the x86_64 build of foo-1.2-3.fc99 (substitute a real build if you’re going to run this):

runtask -i foo-1.2-3.fc99 -t koji_build -a x86_64 rpmlint.yml

The build will be downloaded to a local tempdir, rpmlint will be run against that build and the results will be printed to the console in TAP13 format.

Contact Us

Please direct questions and comments to either the Fedora QA Devel List or the #fedora-qa IRC channel on Freenode.

Indices and tables