Skip to content

Add blank Project Quality tab to project CI/CD analytics

What does this MR do and why?

For #341972 (closed)

This MR introduces a blank tab on the [project] -> Analytics -> CI/CD page for us to build the Project Quality Summary MVC inside of.

Technically, this MR:

  • Adds the GitLab Ultimate licensed feature project_quality_summary to license.rb so we can display the tab only with the appropriate license (permanent)
  • Adds the feature flag project_quality_summary_page so we can display the tab only when it is enabled (temporary)
  • Adds a helper should_render_quality_summary that checks for the licensed feature and feature flag and sends a boolean to the frontend for whether we should render the project quality summary tab
  • Adds a new blank ee/.../project_quality_summary/app.vue that we conditionally import and render based on the boolean from the backend
  • Adds specs to
    • check that the helper only returns true when both conditions are true (and false on CE)
    • check that the tab and app are only rendered when the helper is true

Screenshots or screen recordings

Screen_Shot_2021-10-26_at_13.32.00

How to set up and validate locally

  1. git checkout 341972-create-project-quality-summary-page
  2. load up a GitLab Ultimate license
  3. navigate to a project
  4. in the sidebar, click Analytics -> CI/CD
  5. there should be up to three tabs on the page (Pipelines, Deployment frequency, and Lead time)
  6. echo "Feature.enable(:project_quality_summary_page)" | rails c
  7. refresh
  8. a new blank Project quality tab should appear

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Miranda Fluharty

Merge request reports