Command Line Interface

Testing Farm provides a CLI tool for easy interaction with Testing Farm.

Use cases

Currently, the CLI targets these main use cases:

  • submitting a test request

  • watch a request for completion

  • get a request completion report

  • easy integration with CI systems via small container image


First steps

For the CLI to work, make sure to export the TESTING_FARM_API_TOKEN in your environment. If you do not yet have a token, see onboarding.

Testing of the project is currently done via:

export TESTING_FARM_API_TOKEN=<your-token>

The token is specific only to a single ranch. If you want to use more ranches, you will need a token for each of them.

Testing Farm provides a sample tmt plan to try out the CLI tool. This plan runs a single test which by default prints out cat /etc/os-release.

  • 🌍 Public Ranch - run sanity test against Fedora Rawhide

    testing-farm request --compose Fedora-Rawhide --git-url --plan /testing-farm/sanity
  • 🎩 Red Hat Ranch

    testing-farm request --compose RHEL-9.2.0-Nightly --git-url --plan /testing-farm/sanity

If your test is expected to take a long time, you should set the --timeout parameter so that your test is not terminated prematurely. The default is currently 12 hours. Try your tmt test locally first to get an idea of how long it will take - perhaps using time. The timeout is specified in minutes. For example:

testing-farm request --compose RHEL-9.2.0-Nightly --git-url --plan /tests/bigtest --timeout 360