func.sum(models.Build.build_duration)
).group_by(models.Build.build_version).all()
- last_build_times = models.Build.query.join(models.Build.build_runner).with_entities(
- models.Runner.runner_name,
- models.Build.build_version,
- models.Build.build_duration
- ).filter(
- models.Build.build_status == "success"
- ).group_by(models.Runner.runner_name, models.Build.build_version).all()
-
runner_build_status = models.Build.query.join(models.Build.build_runner).with_entities(
models.Runner.runner_name,
models.Build.build_status,
'sum': build_time[5] if build_time[5] else 0,
}
- for build_time in last_build_times:
- stats['times'].setdefault(build_time[0], {})[build_time[1]]["last"] = build_time[2]
-
for build_status in runner_build_status:
stats['builds']['all'].setdefault(build_status[1], 0)
stats['builds']['all'][build_status[1]] += build_status[2]