Loading
Add vue3_migrate_repo_settings flag and migrate repository settings pages
What does this MR do and why?
Adds the vue3_migrate_repo_settings feature flag (beta, actor-based, default_enabled: false) and opts three page entrypoints into the Vue 3 migration by adding vue3_migration.yml files with status: rollout.
This is flag 6 of 7 in the migration series (epic: gitlab-org#23084). These are low-traffic config forms.
Follow-up MRs under this same flag will add yml entries for admin/application_settings/repository, EE admin/application_settings/templates, and EE admin/push_rules. A separate MR handles EE projects/path_locks, which has zero Vue.
Entrypoints in this MR
| File | Notes |
|---|---|
config/feature_flags/beta/vue3_migrate_repo_settings.yml |
New beta flag, default_enabled: false, actor-based |
app/assets/javascripts/pages/projects/settings/repository/show/vue3_migration.yml |
Vue apps: MirrorTableRoot, BranchRulesAppRoot, DefaultBranchSelectorRoot, RemoveBlobsRoot, RedactTextRoot, DeployKeysAppRoot |
ee/app/assets/javascripts/pages/projects/settings/repository/show/vue3_migration.yml |
Must be identical to the CE file because the EE index.js overrides the CE one; enforced by spec/lib/gitlab/vue3_migration_files_spec.rb. EE overlay adds WebBasedCommitSigningSettings plus plain-JS-only code (EEMirrorRepos, protected branches/tags classes — no Vue, no migration risk) |
app/assets/javascripts/pages/projects/settings/branch_rules/vue3_migration.yml |
Vue apps: ViewRoot (branch rules detail, CE+EE via ee_else_ce) |
Testing
On projects/settings/repository:
- Mirror table renders; add and delete a mirror works
- Branch rules listing renders; clicking a rule opens the detail view
- Default-branch selector change persists after save and reload
- Deploy keys: add, disable, enable
- Remove blobs: submit shows success/error state (no feature spec — manual only)
- Redact text: submit shows success/error state (no feature spec — manual only)
- EE: web-based commit signing toggle persists (no feature spec — manual only)
On projects/settings/branch_rules:
- Create, edit, and delete a rule
- EE: approval rules and code owners render
Both pages:
- Console check: no Vue 2 roots left, no
@vue/compatwarnings -
bundle exec rspec spec/lib/gitlab/vue3_migration_files_spec.rbpasses
References
- Rollout issue: #613677 (closed)
- Epic: gitlab-org#23084
- Migration docs: https://docs.gitlab.com/development/fe_guide/vue3_migration/
Edited by Chaoyue Zhao