jenkins-gerrit: display JOB_TYPE infront of url

In the summary comment posted by jenkins to the patch on gerrit, display
the JOB_TYPE infront of the URL instead of "build", if the build job is
a matrix job that uses JOB_TYPE as variable.

For such jobs, it changes:
  [build] https://jenkins.osmocom.org/…
  [build] https://jenkins.osmocom.org/…
  [build] https://jenkins.osmocom.org/…
  [build] https://jenkins.osmocom.org/…
  [lint] https://jenkins.osmocom.org/…
to:
  [manuals] https://jenkins.osmocom.org/…
  [gateware] https://jenkins.osmocom.org/…
  [firmware] https://jenkins.osmocom.org/…
  [software] https://jenkins.osmocom.org/…
  [lint] https://jenkins.osmocom.org/…

JOB_TYPE is used by osmo-e1-hardware and pysim.

Change-Id: I51f49e4799961776dbddaedd76c14ed37a0e6c84
This commit is contained in:
Oliver Smith 2022-11-04 13:51:51 +01:00 committed by osmith
parent ac5bae1efa
commit e4a33ebda2
1 changed files with 19 additions and 1 deletions

View File

@ -10,6 +10,8 @@ import urllib.request
jenkins_url = "https://jenkins.osmocom.org"
re_start_build = re.compile("Starting building: gerrit-[a-zA-Z-_0-9]* #[0-9]*")
re_result = re.compile("^PIPELINE_[A-Z]*_PASSED=[01]$")
re_job_type = re.compile("JOB_TYPE=([a-zA-Z-_0-9]*),")
def parse_args():
parser = argparse.ArgumentParser(
@ -128,10 +130,26 @@ def jobs_for_summary(pipeline, build_matrix):
return ret
def get_job_short_name(job):
""" :returns: a short job name, usually the stage (lint, deb, rpm, build).
Or in case of build a more useful name like the JOB_TYPE part
of the URL if it is found. For osmo-e1-hardware it could be
one of: manuals, gateware, firmware, software """
global re_job_type
stage = job["stage"]
if stage == "build":
match = re_job_type.search(job["url"])
if match:
return match.group(1)
return stage
def get_jobs_list_str(jobs):
ret = ""
for job in jobs:
ret += f" [{job['stage']}] {job['url']}/consoleFull\n"
ret += f" [{get_job_short_name(job)}] {job['url']}/consoleFull\n"
return ret