Add Vue 3 rollout flag for the releases pages

Adds the vue3_migrate_releases feature flag and a vue3_migration.yml for the four releases entrypoints. They opt into Option 1 (the bundler builds a Vue 2 and a Vue 3 chunk; Rails serves the Vue 3 chunk only when the flag is on; default-off).

Scope

Four entrypoints under pages/projects/releases, all sharing the ~/releases app, each mounted with initVueApp:

  • index (ReleaseIndexAppRoot, Apollo), show (ReleaseShowAppRoot, Apollo), new / edit (ReleaseEditNewAppRoot, Vuex).

All status: rollout behind vue3_migrate_releases.

Risk

index/show are Apollo-backed; new/edit use Vuex — both run under @vue/compat. The ~/releases folder was audited: no unshimmed Vue 2→3 breakers. Covered by spec/frontend/releases (green under Vue 3).

Shared issuable popovers: fixed in @gitlab/ui 137.2.5 (gitlab-org/gitlab-services/design.gitlab.com!6361 (merged)).

Verification

  • bundle exec rspec spec/lib/gitlab/vue3_migration_files_spec.rb
  • node scripts/frontend/vue3_migration_stats.mjs --owners
  • VUE_VERSION=3 yarn jest spec/frontend/releases — 29 suites, 511 tests, 0 failures

Local verification

References

Edited by Anna Vovchenko

Merge request reports

Loading
Loading