diff options
author | Yongqin Liu <yongqin.liu@linaro.org> | 2020-02-18 21:20:35 +0800 |
---|---|---|
committer | Yongqin Liu <yongqin.liu@linaro.org> | 2020-02-18 21:20:35 +0800 |
commit | 0a46d41f5568d4ef6a9606a514bc6e83146bfe33 (patch) | |
tree | 8cffedaa540bb41bc4f0b546a77a15c104a7bab3 | |
parent | de69a97b4a872828e5aa45771a6528b2b42001ae (diff) |
lkft: fix the ci trigger and ci build not found problem
as the qa-report project name might be not the same as the part in the full_name
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
-rw-r--r-- | lkft/lkft_config.py | 22 | ||||
-rw-r--r-- | lkft/templates/lkft-projects.html | 1 | ||||
-rw-r--r-- | lkft/views.py | 8 |
3 files changed, 16 insertions, 15 deletions
diff --git a/lkft/lkft_config.py b/lkft/lkft_config.py index 7b4dd92..037a9b8 100644 --- a/lkft/lkft_config.py +++ b/lkft/lkft_config.py @@ -111,31 +111,31 @@ citrigger_lkft_rcs = { } -def get_ci_trigger_info(lkft_p_full_name=""): +def get_ci_trigger_info(project=None): + if not project.get('full_name'): + return (None, None, None) + group_project_names = lkft_p_full_name.split('/') group_name = group_project_names[0] - lkft_pname = group_project_names[1] + lkft_pname = project.get('name') citrigger_info = citrigger_lkft if group_name == "android-lkft-rc": citrigger_info = citrigger_lkft_rcs return (group_name, lkft_pname, citrigger_info) -def find_trigger_and_build(lkft_p_full_name=""): - if not lkft_p_full_name: - return (None, None) - - (group_name, lkft_pname, citrigger_info) = get_ci_trigger_info(lkft_p_full_name=lkft_p_full_name) +def find_trigger_and_build(project): + (group_name, lkft_pname, citrigger_info) = get_ci_trigger_info(project=project) for trigger_name, lkft_pnames in citrigger_info.items(): if lkft_pname in lkft_pnames.keys(): return (trigger_name, lkft_pnames.get(lkft_pname)) return (None, None) -def find_citrigger(lkft_p_full_name=""): - (trigger_name, build_name) = find_trigger_and_build(lkft_p_full_name) +def find_citrigger(project=None): + (trigger_name, build_name) = find_trigger_and_build(project) return trigger_name -def find_cibuild(lkft_p_full_name=""): - (trigger_name, build_name) = find_trigger_and_build(lkft_p_full_name) +def find_cibuild(project=None): + (trigger_name, build_name) = find_trigger_and_build(project) return build_name def get_hardware_from_pname(pname=None, env=''): diff --git a/lkft/templates/lkft-projects.html b/lkft/templates/lkft-projects.html index bb3138a..c8e307d 100644 --- a/lkft/templates/lkft-projects.html +++ b/lkft/templates/lkft-projects.html @@ -59,6 +59,7 @@ {% endif %} {% if last_ci_build.build_status == 'FAILURE' %} <a href="{{last_ci_build.ci_build_project_url}}">{{ last_ci_build.kernel_version}}</a> <p style="background-color: red">{{ last_ci_build.build_status}}</p> + <p>Started at {{ last_ci_build.start_timestamp|date:'M. d, Y, H:i'}}, {{ last_ci_build.start_timestamp|timesince}} ago</p> {% endif %} {% if last_ci_build.build_status == 'ABORTED' %} <a href="{{last_ci_build.ci_build_project_url}}">{{ last_ci_build.kernel_version}}</a> <p style="background-color: gray">{{ last_ci_build.build_status}}</p> diff --git a/lkft/views.py b/lkft/views.py index 4d0a7d7..94e9430 100644 --- a/lkft/views.py +++ b/lkft/views.py @@ -251,8 +251,8 @@ def extract(result_zip_path, failed_testcases_all={}, metadata={}): } -def get_last_trigger_build(lkft_p_full_name=''): - ci_trigger_name = find_citrigger(lkft_p_full_name=lkft_p_full_name) +def get_last_trigger_build(project=None): + ci_trigger_name = find_citrigger(project=project) if not ci_trigger_name: return None return jenkins_api.get_last_build(cijob_name=ci_trigger_name) @@ -399,7 +399,7 @@ def get_project_info(project): project['last_build'] = last_build logger.info("%s: Start to get ci trigger build information for project", project.get('name')) - last_trigger_build = get_last_trigger_build(project.get('full_name')) + last_trigger_build = get_last_trigger_build(project) if last_trigger_build: last_trigger_url = last_trigger_build.get('url') last_trigger_build = jenkins_api.get_build_details_with_full_url(build_url=last_trigger_url) @@ -408,7 +408,7 @@ def get_project_info(project): project['last_trigger_build'] = last_trigger_build logger.info("%s: Start to get ci build information for project", project.get('name')) - ci_build_project_name = find_cibuild(lkft_p_full_name=project.get('full_name')) + ci_build_project_name = find_cibuild(project) if ci_build_project_name: ci_build_project = jenkins_api.get_build_details_with_job_url(ci_build_project_name) |