[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 abtn
class and not agl-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.