Skip to content

MVP: Create BuildReportResults

Max Orefice requested to merge mo-pipeline-metrics-mvc into master

Related to #37725 (closed)

What does this MR do?

  1. Create a new table ci_build_report_results
  2. Add its associated model

Explanation

Each build will have many ci_build_report_results attached to its report type.

The new ci_build_report_results will be used to persist summary counter any report type.

It's built as generic model inspired from the Secure team and the new Scan model introduced in !23669 (merged), and might help other teams in the future.

Pipeline___GitLab.org___GitLab___GitLab_-_Mozilla_Firefox_2020-02-28_16-15-07

Screenshot

image

Motivation

After a great discussion with @ayufan I'm exploring how we can persist report type data within SQL so we can make report generation/loading faster for all kind of report. We are currently trying to fix a performance issue for JUnit but looks like our solution could also benefit to other teams.

Some benefit this new architecture will provide:

  • efficiently store results of a single build, and pipeline,
  • aggregate them over time,
  • provide a counters in different places,
  • quickly find pipelines with coverage/or a given test failures below some predefined percentage, or number,
  • quickly know whether the given pipeline... etc.
  • to graph all results consistently and in uniform way

cc @drewcimino @iamricecake @ayufan @dosuken123

Edited by Max Orefice

Merge request reports