PR#3402: Correct getAverageDuration values for most GC builds

Merges #3402
https://pagure.io/koji/pull-request/3402

Fixes: #1128
https://pagure.io/koji/issue/1128
getAverageBuildDuration returns None for containers
This commit is contained in:
Tomas Kopecek 2022-08-01 09:37:51 +02:00
commit b5ff9d8b51

View file

@ -12449,12 +12449,17 @@ class RootExports(object):
if not packageID:
return None
st_complete = koji.BUILD_STATES['COMPLETE']
# we need to filter out builds without tasks (imports) as they'll reduce
# time average. CG imported builds often contain *_koji_task_id instead.
query = """SELECT date_part('epoch', avg(build.completion_time - events.time))
FROM build
JOIN events ON build.create_event = events.id
WHERE build.pkg_id = %(packageID)i
AND build.state = %(st_complete)i
AND build.task_id IS NOT NULL"""
AND (
build.task_id IS NOT NULL OR
build.extra LIKE '%koji_task_id%'
)"""
if age is not None:
query += " AND build.completion_time > NOW() - '%s months'::interval" % int(age)