Skip to content

Reorganize runtime to tenant scale

Use this template to add, rename, or remove a section, stage, group, or category, in conjunction with the Categories handbook page section on changes. If you are only changing the content (which team members, descriptions, etc.), please refer to the handbook page for notes.

Please review all tasks. If a task is not relevant, consider crossing it out ([~]) instead of removing it to communicate to others that it was reviewed, but not applicable.

Note on order: Not all items have to be completed in the listed order. Where the order is important, dependencies should be noted.

  1. [Category only] If adding a category, go through the Opportunity Canvas review process.
  2. Workday
    • Note: While Workday updates many team members' data files' fields, it does not automatically update who is a member of each product section/stage/group as defined in sections.yml and stages.yml. See the www-gitlab-com task for more details.
  3. Update www-gitlab-com files, particularly data/ files using the MR template of the same name. See also Updating data files below.
  4. Create an issue using the Group-Stage-Category-Change gitlab-org/gitlab issue template for instructions on updating the code.
  5. [Group only] Update Event and metrics definitions
  6. Create a triage ops issue using the label change template.
    • The triage ops template covers label changes, one-off migration is necessary, and some other things.
    • [Addition only] If what you're adding is completely new (not involving an existing one at all), you may not need an issue, but still consider reviewing the label guidance.
  7. Update Async retrospective
  8. Move/rename/archive groups/projects. Open an Access Request if necessary.
  9. Update references/views/templates/etc. in gitlab-org and gitlab-com.
  10. Update any team specific automation.
  11. Create, update, or archive relevant Slacks. Open an Access Request if necessary.
  12. Update all references in the (internal) handbook.
  13. Communicate the change, including notifying counterparts, and (cross-)posting in #product, #development, and relevant #s_, #g_, and #f_ Slack channels.

Updating data files

  1. The basic information for the section, stage, or group needs to be updated.
  2. Update all direction pages.
    • [Section & Stage] The page path is automatically generated, so a redirect is highly recommended. If the Section and Stage have the same name, then only one page is generated.
    • Recommendation: Update only the necessary references (such as the path and redirect) as part of the MR, and leave content changes to a follow-up MR.

Adding or renaming

When updating the data files:

  1. [Group only] If updating the related *_team_tag, they need to be updated for all relevant team members. See the team tags section for more info.
  2. [Stage only] Update the stage in categories.yml.

Removing

  1. Ensure that all team members with the listed *_team_tag are moved to another group.
  2. Categories and its related features must be moved to another group, or removed.
    • If a category is staying in the categories.yml file, it must be moved to another group.
    • As only one group can own one category, if ownership of features is split between multiple groups, then the features need to be split into multiple categories and updated appropriately.
    • If a category is removed from categories.yml, but the code is being maintained by a new owner, move the category under the list of maintained_categories under the new group owner in stages.yml.
Edited by John Cai