Skip to content

[Feature flag] Enable merge_base_pipeline for comparing with merged results in the CodeQuality MR widget

What

Remove the :merge_base_pipelines feature flag ...

Owners

  • Team: grouptesting
  • Most appropriate slack channel to reach out to: #g_testing
  • Best individual to reach out to: @drewcimino

Expectations

What are we expecting to happen?

We're expecting that an existing pipeline run on the commit of a merged result pipeline's target_sha will produce a cleaner artifact diff with the merged result head pipeline than the pipeline from the MR diff_base, currently called base_pipeline.

We will be fetching exactly one pipeline in place of the current base_pipeline, so we don't expect any adverse ~performance effects.

What might happen if this goes wrong?

CodeQuality comparisons may not be available if this doesn't return a pipeline and the widget has no base artifact to diff from. In that case, we turn it off and none of the new code in !44648 (merged) will execute.

What can we monitor to detect problems with this?

We'll be checking this merge request to see if the unrelated violations and fixes stop showing up. While that happens, we'll be keeping an eye on the MergeRequestsController#show dashboard along with ArtifactsController#download/download.json

Beta groups/projects

If applicable, any groups/projects that are happy to have this feature turned on early. Some organizations may wish to test big changes they are interested in with a small subset of users ahead of time for example.

  • drewcimino/test-code-quality-template
  • some gitlab-org satellite projects?
  • gitlab-org/gitlab project from 20-22 UTC on 20 October 2020
  • Leave on for gitlab-org/gitlab
  • gitlab-org/gitlab-com groups
  • .com ?

Roll Out Steps

  • Enable on staging (/chatops run feature set feature_name true --staging)
  • Test on staging
  • Ensure that documentation has been updated
  • Enable on GitLab.com for individual groups/projects listed above and verify behaviour (/chatops run feature set --project=gitlab-org/gitlab feature_name true)
  • Coordinate a time to enable the flag with #production and #g_delivery on slack.
  • Announce on the issue an estimated time this will be enabled on GitLab.com
  • Enable on GitLab.com by running chatops command in #production (/chatops run feature set feature_name true)
  • Cross post flag chatops Slack command to #support_gitlab-com (more guidance when this is necessary in the dev docs) and in your 👍 team channel 👍
  • Announce on the issue that the flag has been enabled
  • Remove feature flag and add changelog entry
  • After the flag removal is deployed, clean up the feature flag by running chatops command in #production channel

Relevant merge request widget data on gitlab-org/gitlab

Edited by Ricky Wiens