From Fedora Project Wiki

Revision as of 02:43, 10 February 2017 by Adamwill (talk | contribs) (revise page to modernize it and update stale references)

Overview

Taskotron is a framework for automated task execution. It currently runs selected package checks in Fedora.

Some of its major envisioned features:

  • Support for distribution-wide checks - e.g. Can this set of packages be pushed to stable updates repository? or Is this new system compose installable?
  • Support for package-related checks - e.g. Can this new build of firefox package be safely updated? or Do the functional tests pass for this new build of openssh?
  • Simple check management - package maintainers in full control of their package-related checks, no hurdles
  • Event-based - where applicable only the simplest interaction between services is used - passing messages through a message bus - for both check triggering and result reporting. No hardcoded tie-ins to specific services.
  • Decoupled design - comprised of loosely-coupled standalone units (tools, libraries) so that important logical functions are separated and one unit can be replaced with a different unit with similar functionality
  • Trivial local execution - no need to replicate the production environment with all its servers and configurations, the check authors can easily run and develop their checks on their local machine with no unnecessary software setup hassle
  • Useful for other Linux distributions as well, not just Fedora

Our systems

Source code, getting involved and contributing

Taskotron consists of multiple separate components, mainly hosted in the taskotron namespace in Pagure. Pagure currently does not provide an overview page for namespaces; once it does, we will link to it here. For now, see Taskotron contribution guide for a full list of repositories.

The general tasks that are developed along with Taskotron can be found in the Fedora QA Bitbucket project for now.

Issues and proposed changes ('pull requests' in git terminology, but referred to as 'diffs' in Phabricator) are tracked in a tool called Phabricator (Fedora QA instance here). You can submit diffs using a tool called arcanist. Please see Taskotron contribution guide for detailed instructions and the full list of repositories and Phabricator projects.

The main mailing list for Taskotron discussion is qa-devel. The main IRC channel is #fedora-qa[?].

Documentation and further reading

Please see the Libtaskotron quick start and the Taskotron documentation. You may also find this further reading of interest: