Roll out vue3_migration.yml to remaining Vue pages
What does this MR do and why?
Migrates the remaining vue3_migrate_* feature flags to the co-located
vue3_migration.yml metadata format introduced in !234347 (merged) (this MR is stacked on
top of it).
Note: Learn more about the vue3_migration.yml file at: https://docs.gitlab.com/development/fe_guide/vue3_migration/#option-1-recommended-migrate-your-page-entrypoint-using-a-feature-flag-and-vue3_migrationyml
How
For each affected page entrypoint this MR:
- Adds a
vue3_migration.ymlwithstatus: rolloutnext to theindex.js. - Simplifies the entrypoint to a single Vue 2 import + init call, removing the
gon.features?.vue3Migrate*branch and the dynamic?vue3import. - Removes the matching
push_frontend_feature_flag(:vue3_migrate_*, …)from the controller.
Flags covered:
vue3_migrate_work_itemsvue3_migrate_pipelinesvue3_migrate_admin_runnersvue3_migrate_compliance_center
Flags left to cover:
vue3_migrate_repository(I was after before I opened this MR, will be migrated separately)
The flag YAML definitions in config/feature_flags/beta/ are not changed.
Local verification
| FF off | FF on (Vue 3 is enabled) |
|---|---|
![]() |
![]() |
Current stats
scripts/frontend/vue3_migration_stats.mjs (to be merged separately) shows the number of entrypoints migrations:
$ node scripts/frontend/vue3_migration_stats.mjs
Total page entrypoints: 573
With vue3_migration.yml: 19 (3.3%)
Remaining (no vue3_migration.yml): 554
By status:
rollout 19
By feature flag:
vue3_migrate_admin_runners 5
vue3_migrate_compliance_center 2
vue3_migrate_jobs 3
vue3_migrate_pipelines 2
vue3_migrate_work_items 7MRs
| Introduce vue3_migration.yml config file (!234347 - merged) | |
| you are here! | Roll out vue3_migration.yml to remaining Vue pages (!236797 - merged) |
How to test
- Make sure the corresponding feature flag is disabled. The page should render the Vue 2 bundle unchanged.
- Enable the flag (for example
Feature.enable(:vue3_migrate_admin_runners)). The page should now load the.vue3sibling chunk and render under Vue 3, with no source change required. - Disable the flag again. The page should return to Vue 2 without a reload of the assets cache.
Related
- Builds on !234347 (merged) (infrastructure + first rollout for
vue3_migrate_jobs).
Edited by Miguel Rincon

