# Convert2RHEL user story when interacting with TFT TMT[1] is an excellent meta testing framework with a strong focus on solving the problem of testing your application in different OS/hardware environments. TMT has nice features to declare the testing environment, in a convenient and reusable manner (using fmf metadata format [2]). TMT also provides a possibility to discover your tests and run them in different environments. What next? As an owner of upstream and, optionally, downstream project you need some automated way to integrate TMT into the CI workflow. So you'll be able to run your tests at scale and configure which tests to run under which conditions (CI jobs and triggers). Here's a solution to solve this problem: Packit [3] as a CI system provider and TFT [4] as an infrastructure as a service with the support of TMT-based tests as a first-class citizen. Packit simplifies the interaction with the TFT, by natively supporting TFT API. These three systems form a complete, language-agnostic CI solution for projects which has as requirements: - Rely on internal Red Hat resources - Hard and specific requirements for the testing environment (i.e. machines with specific hardware and OS, reboot as a part of the testing workflow, etc.) - QE as a bottleneck in the development process After integrating these systems (for today, it is partly integrated), the Convert2RHEL team significantly improved the speed of delivering features, and now all integration tests for new features are written by the feature developers. References: [1] https://tmt.readthedocs.io/ [2] https://fmf.readthedocs.io/ [3] https://packit.dev/ [4] https://testing-farm.gitlab.io/api/