Draft: Map api/client-go MRs to the gitlab-api-client-go roulette key
What does this MR do and why?
Problem: Community MRs on gitlab-org/api/client-go get a review-request note that pings a random available MR coach instead of the project's own reviewers/maintainers (example: this note).
Root cause: SuggestedReviewerService#project_key derives the roulette key from the last URL path segment (client-go), but team members register this project under its gitlab-com/www-gitlab-com projects.yml entry key, gitlab-api-client-go. Three members currently list gitlab-api-client-go: maintainer in their team member files (@fforster, @timofurrer, @PatrickRice), but because no candidate's projects hash contains a client-go key, the service finds no eligible reviewers and falls back to TeamMember.random_available_coach.
Fix: Add 'gitlab-org/api/client-go' => 'gitlab-api-client-go' to PROJECT_KEY_OVERRIDES, following the pattern established for the gitlab-org/charts projects. A new spec covers the mapping.
Screenshots or screen recordings
| Before | After |
|---|---|
project_key('https://gitlab.com/gitlab-org/api/client-go') → client-go → no eligible reviewers → random MR coach pinged |
→ gitlab-api-client-go → matches the project's registered maintainers |
Validation steps
- New spec in
contributors/spec/services/suggested_reviewer_service_spec.rb: "maps api/client-go to the gitlab-api-client-go roulette key" (bin/rspec contributors/spec/services/suggested_reviewer_service_spec.rb). - Key-derivation logic verified in isolation with the new override (including trailing-slash handling and the existing charts/monolith cases).
- I could not run the app's RSpec suite locally before opening this MR; relying on CI for the full run.
- After deploy, a new MR in
gitlab-org/api/client-goshould suggest one of the registeredgitlab-api-client-gomaintainers instead of an MR coach.
Note: other nested projects whose projects.yml key differs from their last path segment would have the same mismatch if team members register them. None others have been reported; they can be added to PROJECT_KEY_OVERRIDES the same way if they surface.