Migrate restrict_user_defined_variables to true

What does this MR do and why?

This adds a Batched Background Migration that migrates the CI/CD setting restrict_user_defined_variables: false to true while also keeping the behavior backwards compatible by also updating pipeline_variables_minimum_override_role: :developer.

This migrations is necessary in order to deprecate restrict_user_defined_variables in %18.0. In order to do that we need to have restrict_user_defined_variables: true everywhere and solely rely on pipeline_variables_minimum_override_role.

DB migrations

➜ rails db:migrate                             
main: == [advisory_lock_connection] object_id: 134040, pg_backend_pid: 28034
main: == 20250220113009 QueueEnableRestrictUserDefinedVariables: migrating ==========
main: == 20250220113009 QueueEnableRestrictUserDefinedVariables: migrated (0.0475s) =

main: == [advisory_lock_connection] object_id: 134040, pg_backend_pid: 28034

➜ rails db:rollback:main VERSION=20250220113009
main: == [advisory_lock_connection] object_id: 133620, pg_backend_pid: 30009
main: == 20250220113009 QueueEnableRestrictUserDefinedVariables: reverting ==========
main: == 20250220113009 QueueEnableRestrictUserDefinedVariables: reverted (0.0938s) =

main: == [advisory_lock_connection] object_id: 133620, pg_backend_pid: 30009

References

Related to Migrate projects using pipeline variables to fo... (#514243 - closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Fabio Pitino

Merge request reports

Loading