Discussion: Refactor warnings and deprecations system for Pipeline page and Pipeline Editor
Topic to Evaluate
The current system for pipeline warnings and deprecation notice is not generic and has been designed for very specific instances. What spawned the need for this technical evaluation is the deprecation notice that grouppipeline authoring wanted to roll out. The types
and type
keywords had been deprecated for 5 years and we were aiming to remove it completely in 15.0. To communicate that deprecation, we used an existing system, which was the pipeline warnings and made this accessible through graphQL.
However this system is not made to dispatch hashes of information, and instead returns plain strings. This limit the quality of the messaging that we can do (for example, if we need a link to the documentation, code formatting, deeper level of interactions, etc).
The question that this issue should address is: What is the ideal system for warnings and deprecation notices that we could reuse for future needs both in the pipeline page and the pipeline editor
Tasks prior to evaluation
-
Confirm if in the future, we want to show keywords deprecation in the pipeline page -
If we want to keep deprecation warnings in the pipeline page, would we keep the "banner style" we have currently? -
Would these banners be dismissible? -
Do we differentiate keywords deprecation from warnings? Would they benefit from having different systems?
Tasks to Evaluate
-
Propose a data shape for pipeline page -
Propose a data shape for pipeline editor page -
Evaluate the scope of API refactor -
Determine feasibility of the feature -
Create issue for implementation or update existing implementation issue description with implementation proposal -
Set weight on implementation issue -
If weight is greater than 5, break issue into smaller issues
Team
-
Add workflowplanning breakdown typefeature and the corresponding ~devops::<stage>
and~group::<group>
labels. -
Ping the PM and EM.