Project

General

Profile

action #162158

Updated by chock about 1 month ago

## What? 

 Currently we rely on a bunch of bash (or perl) script wrappers around the original `openqa-cli` to perform certain actions such as scheduling tests, cloning tests from a PR or commit, performing database migrations etc. 
 This is all very loosely connected - if at all - which makes it confusing for new users and first time contributors to find their way around, as they do not have one point of contact with openQA. 

 Therefore, the goal of this ticket is to implement a new CLI frontend for openQA with a modern, consolidated structure. 
 To allow for feature parity with the current solution and ease the replacement sometime in the future, including as much of the current system's functionality 
 into this new CLI system is a primary objective. 

 ## Why? 

 The current structure, or lack thereof, amkes 

 ## Goal 

 A well documented, modern, expandable CLI system with a clearly structured usage is the ultimate goal. Providing users and developers alike with a 
 single source of contact would make interactions much more clear, improve maintainability and avoid confusion when troubleshooting issues during usage of openQA. 

 Also, by using a modern language with frameworks like `argparse (Python)`, `click (Python)` or `clap (Rust)`, we can ensure that the new CLI system is a modular one; Making the addition of new commands, arguments or flags to the existing structure relatively trivial. 

 It would also be easier to implement and maintain coding standards in the CLI component of openQA and make contributing more appealing to a wider range of outside contributors as - let's face it - Perl is not the most popular language anymore.

Back