Un-scope category labels
Problem to solve
The label documentation mentions Subject
labels: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/contributing/issue_workflow.md#subject-labels but it currently mixes feature and category labels. We need to clarify this.
For the distinction between Category and Feature, see https://about.gitlab.com/handbook/product/categories/#hierarchy
There is no official naming/color convention for these labels but an ongoing normalization proposal with !169 (merged) suggest to leverage scoped labels.
I don't think scoped labels are useful here and they even prevent some existing workflow (e.g. having an epic related to multiple categories). Requiring to split into sub-epics/issues will generate unnecessary overhead.
NB: There is a dedicated proposal to normalize feature labels: #247, this issue focuses on feature labels.
Example
Issues/Epics are not only about product/category strategies, but there are also engineering initiatives and some of them cover multiples categories depending on how the code is structured. E.g. in devopssecure we have a lot of overlapping areas between the groups and categories as the code is generic. One unique change to the code can impact several categories.
This MR https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14376 impacts 4 categories.
Without scoped labels:
- we can have 1 epic, 1 issue, 1 MR, all labeled with the 4 category labels. Simple and straightforward.
With scoped labels:
- we need 1 parent epic, 4 child epics, 4 issues, all labeled independently with 1 category label.
- the MR can't have the category labels reflecting the change it's providing.
- these are way too much useless items to maintain. Engineers need to update
workflow::xxx
labels and close issues after deployed and tested on prod. This also clutters the issue boards for no benefit.
Proposal:
-
Naming convention Category: Feature with Spaces And Capital Letters as Desired
-
No scoped labels (mutual exclusion). -
Color #428BCA
Once we agree on the convention, tasks list:
-
Update the docs by creating a distinct Category labels
section => https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/32053/diffs -
Update any label references in www-gitlab-com
=> gitlab-com/www-gitlab-com!28532 (diffs) -
Update the scripts/automation in this project => !274 (diffs) -
Once the three above MR are merged, update the labels according to the naming convention and color -
Communicate broadly -
Company call -
Slack: #development
,#quality
,#product
-