From 19f6942aadf1b2e5bd992b319919f630ab50f029 Mon Sep 17 00:00:00 2001 From: David Kim <dkim@gitlab.com> Date: Tue, 18 Jul 2023 21:00:12 +1000 Subject: [PATCH] Remove restrict_merge_status_recheck feature flag It had been default enabled for a couple months now so it's safe to remove it now. Changelog: removed --- .../mergeability_check_batch_worker.rb | 3 +- .../restrict_merge_status_recheck.yml | 8 ----- lib/api/entities/merge_request_basic.rb | 2 -- lib/api/merge_requests.rb | 3 +- spec/requests/api/merge_requests_spec.rb | 36 ------------------- .../mergeability_check_batch_worker_spec.rb | 19 ---------- 6 files changed, 2 insertions(+), 69 deletions(-) delete mode 100644 config/feature_flags/development/restrict_merge_status_recheck.yml diff --git a/app/workers/merge_requests/mergeability_check_batch_worker.rb b/app/workers/merge_requests/mergeability_check_batch_worker.rb index f48e9c234abd0..e95c3952c8ca9 100644 --- a/app/workers/merge_requests/mergeability_check_batch_worker.rb +++ b/app/workers/merge_requests/mergeability_check_batch_worker.rb @@ -40,8 +40,7 @@ def perform(merge_request_ids, user_id) private def merge_status_recheck_not_allowed?(merge_request, user) - ::Feature.enabled?(:restrict_merge_status_recheck, merge_request.project) && - !Ability.allowed?(user, :update_merge_request, merge_request.project) + !Ability.allowed?(user, :update_merge_request, merge_request.project) end end end diff --git a/config/feature_flags/development/restrict_merge_status_recheck.yml b/config/feature_flags/development/restrict_merge_status_recheck.yml deleted file mode 100644 index 8b7da32677382..0000000000000 --- a/config/feature_flags/development/restrict_merge_status_recheck.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: restrict_merge_status_recheck -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115948 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/404567 -milestone: '15.11' -type: development -group: group::code review -default_enabled: true diff --git a/lib/api/entities/merge_request_basic.rb b/lib/api/entities/merge_request_basic.rb index adff7f87cd351..56519e2bf0824 100644 --- a/lib/api/entities/merge_request_basic.rb +++ b/lib/api/entities/merge_request_basic.rb @@ -107,8 +107,6 @@ def detailed_merge_status end def can_check_mergeability?(project) - return true if ::Feature.disabled?(:restrict_merge_status_recheck, project) - Ability.allowed?(options[:current_user], :update_merge_request, project) end end diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb index ff9d0e2c37113..03b9ee03b464b 100644 --- a/lib/api/merge_requests.rb +++ b/lib/api/merge_requests.rb @@ -118,8 +118,7 @@ def authorize_merge_request_rebase!(merge_request) end def recheck_mergeability_of(merge_requests:) - return if ::Feature.enabled?(:restrict_merge_status_recheck, user_project) && - !can?(current_user, :update_merge_request, user_project) + return unless can?(current_user, :update_merge_request, user_project) merge_requests.each { |mr| mr.check_mergeability(async: true) } end diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb index 0ca621fd9ea73..d7d09ec704f4c 100644 --- a/spec/requests/api/merge_requests_spec.rb +++ b/spec/requests/api/merge_requests_spec.rb @@ -166,42 +166,6 @@ expect(merge_request.reload.merge_status).to eq('unchecked') end end - - context 'when restrict_merge_status_recheck FF is disabled' do - before do - stub_feature_flags(restrict_merge_status_recheck: false) - end - - context 'with batched_api_mergeability_checks FF on' do - it 'checks mergeability asynchronously in batch', :sidekiq_inline do - get(api(endpoint_path, user2), params: { with_merge_status_recheck: true }) - - expect_successful_response_with_paginated_array - - expect(merge_request.reload.merge_status).to eq('can_be_merged') - end - end - - context 'with batched_api_mergeability_checks FF off' do - before do - stub_feature_flags(batched_api_mergeability_checks: false) - end - - context 'with merge status recheck projection' do - it 'does enqueue a merge status recheck' do - expect_next_instances_of(check_service_class, (1..2)) do |service| - expect(service).not_to receive(:execute) - expect(service).to receive(:async_execute).and_call_original - end - - get(api(endpoint_path, user2), params: { with_merge_status_recheck: true }) - - expect_successful_response_with_paginated_array - expect(mr_entity['merge_status']).to eq('checking') - end - end - end - end end end diff --git a/spec/workers/merge_requests/mergeability_check_batch_worker_spec.rb b/spec/workers/merge_requests/mergeability_check_batch_worker_spec.rb index 828ffb0c8111c..35d06ea6e8696 100644 --- a/spec/workers/merge_requests/mergeability_check_batch_worker_spec.rb +++ b/spec/workers/merge_requests/mergeability_check_batch_worker_spec.rb @@ -40,25 +40,6 @@ subject.perform([merge_request_1.id, merge_request_2.id, merge_request_3.id, 1234], user.id) end - context 'when restrict_merge_status_recheck FF is off' do - before do - stub_feature_flags(restrict_merge_status_recheck: false) - end - - it 'executes MergeabilityCheckService on merge requests that needs to be checked' do - expect_next_instance_of(MergeRequests::MergeabilityCheckService, merge_request_1) do |service| - expect(service).to receive(:execute).and_return(ServiceResponse.success) - end - expect_next_instance_of(MergeRequests::MergeabilityCheckService, merge_request_2) do |service| - expect(service).to receive(:execute).and_return(ServiceResponse.success) - end - expect(MergeRequests::MergeabilityCheckService).not_to receive(:new).with(merge_request_3.id) - expect(MergeRequests::MergeabilityCheckService).not_to receive(:new).with(1234) - - subject.perform([merge_request_1.id, merge_request_2.id, merge_request_3.id, 1234], user.id) - end - end - it 'structurally logs a failed mergeability check' do expect_next_instance_of(MergeRequests::MergeabilityCheckService, merge_request_1) do |service| expect(service).to receive(:execute).and_return(ServiceResponse.error(message: "solar flares")) -- GitLab