Add vue3_migrate_policy_store flag for Policy Store pages

What does this MR do and why?

Opts the eight Policy Store page entrypoints into the Vue 3 migration, per the migration process.

  • Adds a status: rollout vue3_migration.yml to pages/{groups,organizations}/security/policy_store/{index,new,edit,show}.
  • Adds the vue3_migrate_policy_store beta flag. With it on, Rails serves the .vue3 bundle; otherwise the Vue 2 bundle, unchanged.
  • No application or spec changes needed: the existing jest suites for policy_store and security_orchestration already pass under VUE_VERSION=3.

References

Screenshots or screen recordings

Recorded on a local GDK with vite.vue_version 3 and the flag enabled, 3x speed. Flow: group Policy Store list → detail → edit → new policy (name, trigger, Rego rule, Browse templates modal, scope step, review step, Save) → back on the list with the new policy.

Before After
N/A (no visual change; same UI, different Vue runtime)

No console errors and no @vue/compat warnings during the recording; the console logged [V] Using Vue.js 3 ... for PolicyStoreListRoot / PolicyStoreEditorRoot / PolicyStoreDetailRoot.

How to set up and validate locally

  1. gdk config set vite.vue_version 3 then gdk reconfigure and gdk restart.
  2. In gdk rails c: Feature.enable(:vue3_migrate_policy_store).
  3. Visit /groups/<group>/-/security/policy_store and /o/<org>/-/security/policy_store, plus their new, edit and show pages.
  4. Confirm the console logs [V] Using Vue.js 3 (with @vue/compat) for <root> and that document.querySelectorAll('[data-gitlab-vue3-app]') returns the app.
  5. Run VUE_VERSION=3 yarn jest ee/spec/frontend/policy_store and bundle exec rspec spec/lib/gitlab/vue3_migration_files_spec.rb.

Note: the data-gitlab-vue3-app marker is absent on show and edit because those roots start on a v-if loading branch that is later replaced. The .vue3 bundle is still what loads.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

Merge request reports

Loading
Loading