Feature flag rollout - merge_train_api_auto_merge_fallback
Summary
This issue tracks the rollout of the merge_train_api_auto_merge_fallback feature flag.
Related merge request: !226033 (merged)
What does this feature flag do?
When enabled, the merge train API endpoint POST /projects/:id/merge_trains/merge_requests/:iid?auto_merge=true will fall back to the merge_train strategy when the add_to_merge_train_when_checks_pass strategy is unavailable (i.e., when all merge preconditions are already fulfilled).
Without this flag, the API returns a 400 Bad Request when auto_merge=true is passed and the pipeline has already succeeded, because it hardcodes the add_to_merge_train_when_checks_pass strategy which reports itself as unavailable when there are no checks to wait for.
Owners
- Team:
group::code review - Feature flag name:
merge_train_api_auto_merge_fallback - Type:
gitlab_com_derisk
Rollout plan
Rollout Steps
-
Enable on staging (
/chatops run feature set merge_train_api_auto_merge_fallback true --staging) - Test on staging
-
Enable on GitLab.com for a percentage of actors
-
25% (
/chatops run feature set merge_train_api_auto_merge_fallback 25 --actors) -
50% (
/chatops run feature set merge_train_api_auto_merge_fallback 50 --actors) -
100% (
/chatops run feature set merge_train_api_auto_merge_fallback 100 --actors)
-
25% (
- Monitor for errors/regressions
-
Enable by default (set
default_enabled: truein YAML) - Remove the feature flag and legacy code path