[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