Use GitLab username instead of slug for team member YAML filenames
Goal
Use GitLab username instead of slug for team member YAML filenames.
Why?
Because GitLab username is more available and it's certainly unique if they're correct. By using GitLab username instead of slug, we can simplify some processes and it's also easier to understand.
A bit of discussion can be found at https://gitlab.com/gitlab-com/people-group/peopleops-eng/employment-automation/-/merge_requests/658#note_1516049750
What is the consequence?
-
Use GitLab username in
reports_to
andborrow.to
instead of slugMore details in Where are we using slug?
-
Merge requests conflicts. Potentially losing changes merging around the same time
We need to move files because it's part of the filenames. We also need to move everyone so this means it's a big change and it'll conflict with any merge requests touching these files, just like !128435 (comment 1521694248) accidentally reverted parts of !128539 (merged) and I have to restore it via !128555 (merged)
-
Break any automation which is relying on slug because we're removing it
@ajrom and I are working on this. See work in progress Workday synchronization: https://gitlab.com/gitlab-com/people-group/peopleops-eng/employment-automation/-/merge_requests/658
What is slug?
Slug is the team member YAML filename, which is solely defined by the filename. For example, this is my team member YAML file: lin.yml
This means my slug is lin
. That wasn't decided by me, and I guess that's automated from my name Lin Jen-Shin
using that as the first name with lower cases.
Where are we using slug?
- Team member YAML filenames
- In the team member YAML file, both
reports_to
and the newborrow.to
(see #34435 (closed) for this new field) is using slug to refer people - Given that the YAML filenames are based on slug, Workday data synchronization has to fetch this value to be able to properly update the YAML file. Here's an example of such automation: !128163 (merged)
Example for the change
We rename data/team_members/person/engineering/l/lin.yml
to data/team_members/person/engineering/g/godfat-gitlab.yml
The following content will also change from:
reports_to: danielcroft
To:
reports_to: dcroft