Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 43,793
    • Issues 43,793
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,426
    • Merge requests 1,426
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #340654
Closed
Open
Created Sep 10, 2021 by Taurie Davis@tauriedavisDeveloper

[Discovery] Automating aspects of tracking component integrations

As part of &3107, we want to create a comprehensive action plan for integrating components into GitLab. Part of this effort includes being able to track legacy UI components within the product.

We've started this by creating an epics burndown chart which takes all the integration epics and lists the issues left in each epic. This helps us visualize the amount of legacy components we have left in the product. The problem, however, is that these issues are all manually created which can be a challenge and may get out of date quickly.

In this issue, we want to do some discovery work to determine where/how we may be able to automate this process.

As an example or source of inspiration, Segment has a few resources for how they are accomplishing this:

  • Segment wrote a great article describing how they are doing tracking: https://segment.com/blog/driving-adoption-of-a-design-system/
  • Segment's open source tool: https://github.com/segmentio/dependency-report

Our repo is quite complex, so there are many challenges to overcome:

Maybe there's a way we can create something like "is GitLab pretty yet" but use the regex approach to find the files that need updating. For example, we used the following regex for our button migration /(^(?!.*gl-button).*class:.*)btn (.*$)/. This looked for any elements that had a btn class and not a gl-button class.

This may be trickier for pyjamas components as a whole though. There's all sorts of ways we can use alternatives to pyjamas components which would make programmatically searching for them impossible.

Outcome

Determine what possibilities exist for automation and, if possible, determine next steps for introducing the automation.

Edited Sep 10, 2021 by Taurie Davis
Assignee
Assign to
Time tracking