From eddc48cfd353e2ae5b6d3a344f08639f3a509195 Mon Sep 17 00:00:00 2001 From: Camila Alvarez Date: Tue, 4 Mar 2025 18:37:33 -0300 Subject: [PATCH] results: add --arch filter Adds --arch to results options and parameter filter_architecture to api params in dashboard_fetch_summary, dashboard_fetch_builds, dashboard_fetch_boots, and dashboard_fetch_tests. Signed-off-by: Camila Alvarez --- kcidev/subcommands/results.py | 36 +++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/kcidev/subcommands/results.py b/kcidev/subcommands/results.py index ae602f9..e4287ba 100644 --- a/kcidev/subcommands/results.py +++ b/kcidev/subcommands/results.py @@ -55,47 +55,51 @@ def dashboard_api_fetch(endpoint, params, max_retries=3): raise click.Abort() -def dashboard_fetch_summary(origin, giturl, branch, commit): +def dashboard_fetch_summary(origin, giturl, branch, commit, arch): endpoint = f"tree/{commit}/summary" params = { "origin": origin, "git_url": giturl, "git_branch": branch, } - + if arch is not None: + params["filter_architecture"] = arch return dashboard_api_fetch(endpoint, params) -def dashboard_fetch_builds(origin, giturl, branch, commit): +def dashboard_fetch_builds(origin, giturl, branch, commit, arch): endpoint = f"tree/{commit}/builds" params = { "origin": origin, "git_url": giturl, "git_branch": branch, } - + if arch is not None: + params["filter_architecture"] = arch return dashboard_api_fetch(endpoint, params) -def dashboard_fetch_boots(origin, giturl, branch, commit): +def dashboard_fetch_boots(origin, giturl, branch, commit, arch): endpoint = f"tree/{commit}/boots" params = { "origin": origin, "git_url": giturl, "git_branch": branch, } - + if arch is not None: + params["filter_architecture"] = arch return dashboard_api_fetch(endpoint, params) -def dashboard_fetch_tests(origin, giturl, branch, commit): +def dashboard_fetch_tests(origin, giturl, branch, commit, arch): endpoint = f"tree/{commit}/tests" params = { "origin": origin, "git_url": giturl, "git_branch": branch, } - + if arch is not None: + params["filter_architecture"] = arch return dashboard_api_fetch(endpoint, params) @@ -439,6 +443,10 @@ def common_options(func): is_flag=True, help="Select latest results available", ) + @click.option( + "--arch", + help="Filter by arch" + ) @wraps(func) def wrapper(*args, **kwargs): return func(*args, **kwargs) @@ -488,12 +496,13 @@ def summary( branch, commit, latest, + arch ): """Display a summary of results.""" giturl, branch, commit = set_giturl_branch_commit( origin, giturl, branch, commit, latest, git_folder ) - data = dashboard_fetch_summary(origin, giturl, branch, commit) + data = dashboard_fetch_summary(origin, giturl, branch, commit, arch) cmd_summary(data) @@ -521,6 +530,7 @@ def builds( branch, commit, latest, + arch, download_logs, status, filter, @@ -529,7 +539,7 @@ def builds( giturl, branch, commit = set_giturl_branch_commit( origin, giturl, branch, commit, latest, git_folder ) - data = dashboard_fetch_builds(origin, giturl, branch, commit) + data = dashboard_fetch_builds(origin, giturl, branch, commit, arch) cmd_builds(data, commit, download_logs, status) @@ -545,6 +555,7 @@ def boots( branch, commit, latest, + arch, download_logs, status, filter, @@ -553,7 +564,7 @@ def boots( giturl, branch, commit = set_giturl_branch_commit( origin, giturl, branch, commit, latest, git_folder ) - data = dashboard_fetch_boots(origin, giturl, branch, commit) + data = dashboard_fetch_boots(origin, giturl, branch, commit, arch) cmd_tests(data["boots"], commit, download_logs, status, filter) @@ -569,6 +580,7 @@ def tests( branch, commit, latest, + arch, download_logs, status, filter, @@ -577,7 +589,7 @@ def tests( giturl, branch, commit = set_giturl_branch_commit( origin, giturl, branch, commit, latest, git_folder ) - data = dashboard_fetch_tests(origin, giturl, branch, commit) + data = dashboard_fetch_tests(origin, giturl, branch, commit, arch) cmd_tests(data["tests"], commit, download_logs, status, filter)