From 69fbb9d3f90f5f40746e9ca50d7d6b7177f23a7a Mon Sep 17 00:00:00 2001
From: Gary Holtz <gholtz@gitlab.com>
Date: Thu, 16 Nov 2023 04:17:28 +0000
Subject: [PATCH] Add a temporary transitionable flag to speed up validations

Changelog: performance
---
 app/models/concerns/transitionable.rb           |  4 +---
 .../skip_validations_during_transitions.yml     |  8 --------
 spec/models/concerns/transitionable_spec.rb     | 17 +++++++----------
 spec/models/merge_request_spec.rb               |  2 +-
 4 files changed, 9 insertions(+), 22 deletions(-)
 delete mode 100644 config/feature_flags/development/skip_validations_during_transitions.yml

diff --git a/app/models/concerns/transitionable.rb b/app/models/concerns/transitionable.rb
index 70e1fc8b78a9b..b64b09336bb4f 100644
--- a/app/models/concerns/transitionable.rb
+++ b/app/models/concerns/transitionable.rb
@@ -6,9 +6,7 @@ module Transitionable
   attr_accessor :transitioning
 
   def transitioning?
-    return false unless transitioning && Feature.enabled?(:skip_validations_during_transitions, project)
-
-    true
+    transitioning
   end
 
   def enable_transitioning
diff --git a/config/feature_flags/development/skip_validations_during_transitions.yml b/config/feature_flags/development/skip_validations_during_transitions.yml
deleted file mode 100644
index 53cf5f5ee719c..0000000000000
--- a/config/feature_flags/development/skip_validations_during_transitions.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: skip_validations_during_transitions
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129848
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/423092
-milestone: '16.4'
-type: development
-group: group::code review
-default_enabled: false
diff --git a/spec/models/concerns/transitionable_spec.rb b/spec/models/concerns/transitionable_spec.rb
index b80d363ef7897..c8cba1ae22667 100644
--- a/spec/models/concerns/transitionable_spec.rb
+++ b/spec/models/concerns/transitionable_spec.rb
@@ -22,19 +22,16 @@ def project
   let(:object) { klass.new(transitioning) }
 
   describe '#transitioning?' do
-    where(:transitioning, :feature_flag, :result) do
-      true  | true  | true
-      false | false | false
-      true  | false | false
-      false | true  | false
+    context "when trasnitioning" do
+      let(:transitioning) { true }
+
+      it { expect(object.transitioning?).to eq(true) }
     end
 
-    with_them do
-      before do
-        stub_feature_flags(skip_validations_during_transitions: feature_flag)
-      end
+    context "when not trasnitioning" do
+      let(:transitioning) { false }
 
-      it { expect(object.transitioning?).to eq(result) }
+      it { expect(object.transitioning?).to eq(false) }
     end
   end
 end
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index d3c32da284232..174badfb05ffc 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -404,7 +404,7 @@
         end
       end
 
-      context "with the skip_validations_during_transition_feature_flag" do
+      context "when transitioning between states" do
         let(:merge_request) { build(:merge_request, transitioning: transitioning) }
 
         where(:transitioning, :to_or_not_to) do
-- 
GitLab