[Duo-UI] Iteration 3: Complete Migration of Host Systems
With the release of Duo-UI, the Duo components previously housed in [gitlab-ui are now deprecated](https://gitlab.com/gitlab-org/gitlab-ui/-/commits/9097b1112376af240be5ab25f76763877dd197b8), and development will continue exclusively in the duo-ui library. **To maintain project functionality and leverage the latest updates, all host systems must complete the migration to duo-ui.** This epic outlines the steps required to transition seamlessly before the deprecation deadline in version 17.8. ## Scope and Objectives 1. **Update Host Systems:** Ensure all host systems (Monolith, VS Code Extension, JetBrains Extension, and Language Server) are updated to at least [GitLab-UI version 102](https://gitlab.com/gitlab-org/gitlab-ui/-/commits/9097b1112376af240be5ab25f76763877dd197b8), as this version includes the deprecation notices for Duo components. 2. **Add Duo-UI Dependency:** Integrate Duo-UI as a dependency in all host systems to begin consuming duo-components from Duo-UI. 3. **Complete Migration to Duo-UI:** Replace all usages of Duo components in gitlab-ui with their equivalents in Duo-UI. Test functionality after migration to ensure full compatibility and a smooth transition. 4. **Prepare for Deprecation:** Plan and execute the migration ahead of the first week of 17.8(2024-12-16), when Duo components will be removed from gitlab-ui. **Non-migrated projects will encounter issues with their upgrade path for GitLab-UI after this point.** ## Tooling To ensure your migration succeeds after the removal of Duo components from gitlab-ui, you can test your changes in advance. The [MR removing these deprecated components](https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/4812) is scheduled for the first week of 17.8. For testing, you can include the following dependency in your package.json: ```json { "gitlab-ui": "https://gitlab.com/gitlab-org/gitlab-ui/-/jobs/8346031176/artifacts/raw/gitlab-ui.jnnkl-removing-duo-components.tgz" } ``` This allows you to verify whether your project runs smoothly without the deprecated components before the official removal. ## Example Migration (Monolith) To demonstrate the migration process, here are two MRs where the transition to duo-ui has been completed in the monolith. These MRs were split due to an oversight but illustrate that the migration can typically be completed in a single MR: - [MR1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/172156) - [MR2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/172993#note_2217534664) ## Timeline ### 17.7: - Migration support is available. Begin transitioning your projects to Duo-UI. ### 17.8 (First Week): - Deprecated Duo components will be removed from gitlab-ui. Ensure your project is fully migrated by this point to avoid disruptions.
epic