Automated type label hygiene in projects with the most undefined MR types
Objective
Investigate undefined merged merge requests to identify where to focus efforts and what actions/tooling can help reduce undefined MR types
Projects | April Ratio | DRI | Action |
---|---|---|---|
gitlab-com/runbooks | 17% of undefined | Dave Smith (Infra) | Add Danger |
gitlab-org/security-products/gemnasium-db | 15% | Added default labels for MRs | |
gitlab-org/gitlab | 14 % of undefined | Working Group | Copy type label from related issue |
gitlab-org/gitlab-services/design.gitlab.com | 12% of undefined | Lukas (Development) | Use gitlab-dangerfiles
|
gitlab-org/quality/triage-ops | 7.2% of undefined | Kyle (Quality) | Copy type label from related issue, [Apply default type label]gitlab-org/quality/triage-ops!1306 (merged)), Fail danger if type label is missing |
gitlab-com/gl-infra/customersdot-ansible | 6.2% of undefined | James Lopez (Development) | Add default MR template |
gitlab-org/release-tools | 3.1% of undefined | Amy Phillips (Infra) | Add default MR template |
gitlab-org/gitlab-docs | 3.1% of undefined | Add Danger | |
gitlab-org/security-products/analyzers/api-fuzzing-src | 3.1% of undefined | ||
gitlab-org/gitlab-development-kit | 2.5% of undefined | Kyle (Quality) | Danger update |
gitlab-org/gitlab-ui | 2.3% of undefined | ||
gitlab-org/opstrace/opstrace | 2.3% of undefined | ||
gitlab-org/gitlab-design | 1.6% of undefined | Valerie (UX) | |
gitlab-com/gl-infra-production | 1.6% of undefined | Dave Smith (Infra) | |
gitlab-org/gitlab-environment-toolkit | 0.78% of undefined | Enablement QE (Quality) | Add danger, Default MR template |
gitlab-org/gitlab-qa | 0.78% of undefined | Tanya (Quality) | Add danger |
gitlab-org/gitlab-shell | 0.78% of undefined | Add danger |
Findings
By looking at merged MRs with no type label & no section label, we get interesting results (https://app.periscopedata.com/app/gitlab/647974/EP---R%C3%A9my-sandbox?widget=13927334&udv=1002157):
Click to see finding details (outdated)
![CountofmergedMRswithnotypenorsectionperproject](/-/project/6057676/uploads/b1108b12d51a548627b0894bcf26d958/CountofmergedMRswithnotypenorsectionperproject.png)
It looks like some projects play a big part of the total of undefined MRs each month.
gitlab-com/runbooks
represents 18% of undefined merged MRs
https://gitlab.com/gitlab-com/runbooks/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- I think it Support the delivery and release process to GitLab SaaS, so I'd say yes.
- Should we start asking for type labels to be set in this project?
- I'd say yes as some MRs are documentation, some are mitigating ~performance or typebug, some are typefeature.
- What's confusing is that a "feature"/"bug" in this project doesn't relate to a GitLab feature, so this can be a bit confusing to have this accounted as part of the overall "feature"/"bug" work.
DRIs:
- SaaS Platforms Section, infrastructure reliability teamDelivery?
- EM:
@dawsmith
MR: gitlab-com/runbooks!4455 (merged)
gitlab-org/gitlab-environment-toolkit
represents 14% of undefined merged MRs
https://gitlab.com/gitlab-org/gitlab-environment-toolkit/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- I think it can be considered part of the Cloud Native installation of GitLab, so I'd say yes.
- Should we start asking for type labels to be set in this project?
- I'd say yes.
- What's confusing is that a "feature"/"bug" in this project doesn't relate to a GitLab feature, so this can be a bit confusing to have this accounted as part of the overall "feature"/"bug" work.
DRIs:
- Quality ~"section::enablement" ~"devops::enablement" groupdistribution
- EM:
@vincywilson
- BE:
@grantyoung
MR: gitlab-org/gitlab-environment-toolkit!600 (merged)
gitlab-com/gl-infra/customersdot-ansible
represents 13% of undefined merged MRs
https://gitlab.com/gitlab-com/gl-infra/customersdot-ansible/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- I think it Support the delivery and release process to GitLab SaaS, so I'd say yes.
- Should we start asking for type labels to be set in this project?
- I'd say yes as some MRs are documentation, some are mitigating ~performance or typebug, some are typefeature.
- What's confusing is that a "feature"/"bug" in this project doesn't relate to a GitLab feature, so this can be a bit confusing to have this accounted as part of the overall "feature"/"bug" work.
DRIs:
- sectionfulfillment devopsfulfillment
- BE EM:
@jameslopez
- BE:
@ebaque
- FE:
@vitallium
Type label set in the default MR template for now.
gitlab-org/gitlab
represents 11% of undefined merged MRs
https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=merged
Open questions:
- We should try to infer more: gitlab-org/ruby/gems/gitlab-dangerfiles#24 (closed)
DRI:
- Engineering Productivity
- EM:
@kwiebers
- BE:
@gl-quality/eng-prod
gitlab-org/quality/triage-ops
represents 7.2% of undefined merged MRs
https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- We could consider it Support product development efforts, but we could also argue this is not directly related to "development efforts"...
- Should we start asking for type labels to be set in this project?
- We could.
- What's confusing is that a "feature"/"bug" in this project doesn't relate to a GitLab feature, so this can be a bit confusing to have this accounted as part of the overall "feature"/"bug" work.
DRI:
- Engineering Productivity
- EM:
@kwiebers
- BE:
@gl-quality/eng-prod
gitlab-org/gitlab-build-images
represents 4.3% of undefined merged MRs
https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- We could consider it Support product development efforts, but we could also argue this is not directly related to "development efforts"...
- Should we start asking for type labels to be set in this project?
- I'd say yes but we could even just auto-apply the ~"type::tooling" ~"tooling::pipelines" label, as this project is only used for this.
DRI:
- Engineering Productivity
- EM:
@kwiebers
- BE:
@gl-quality/eng-prod
MR: gitlab-org/gitlab-build-images!509 (merged)
gitlab-org/release-tools
represents 3.2% of undefined merged MRs
https://gitlab.com/gitlab-org/release-tools/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- I think it Support the delivery and release process to GitLab SaaS, so I'd say yes.
- Should we start asking for type labels to be set in this project?
- I'd say yes but we could even just auto-apply the ~"type::tooling" label.
DRI:
- SaaS Platforms Section, SaaS Platforms Stage, teamDelivery
- EM:
@amyphillips
- BE:
@rspeicher
MR: gitlab-org/release-tools!1746 (merged)
gitlab-org/gitlab-qa
represents 3.2% of undefined merged MRs
https://gitlab.com/gitlab-org/gitlab-qa/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- We could consider it Support product development efforts, but we could also argue this is not directly related to "development efforts"...
- Should we start asking for type labels to be set in this project?
- I'd say yes.
- What's confusing is that a "feature"/"bug" in this project doesn't relate to a GitLab feature, so this can be a bit confusing to have this accounted as part of the overall "feature"/"bug" work.
DRI:
- Quality
- Director:
@tpazitny
MR: gitlab-org/gitlab-qa!889 (merged)
gitlab-org/gitlab-development-kit
represents 2.5% of undefined merged MRs
https://gitlab.com/gitlab-org/gitlab-development-kit/-/merge_requests?scope=all&state=merged
Open questions:
- Does it even make sense to have this project part of "Product MRs"?
- I think it Support product development efforts, so I'd say yes.
-
- Should we start asking for type labels to be set in this project?
DRI:
- Engineering Productivity
- EM:
@kwiebers
- BE:
@ashmckenzie
Uses the latest version of gitlab-dangerfiles
.
Other projects represents 11% of undefined merged MRs
Actions taken
- See related merge requests
- Experiment making the type label requirement a Danger error: gitlab-org/quality/engineering-productivity/team#17 (closed)