Skip to content
Snippets Groups Projects
Commit 199c5f1c authored by Vladimir Shushlin's avatar Vladimir Shushlin
Browse files

Mark legacy pages removal for being deleted

parent b3daa3e5
No related tags found
No related merge requests found
Loading
Loading
@@ -117,7 +117,7 @@ class Project < ApplicationRecord
 
use_fast_destroy :build_trace_chunks
 
after_destroy -> { run_after_commit { remove_pages } }
after_destroy -> { run_after_commit { legacy_remove_pages } }
after_destroy :remove_exports
 
after_validation :check_pending_delete
Loading
Loading
@@ -1788,10 +1788,9 @@ def remove_private_deploy_keys
.delete_all
end
 
# TODO: what to do here when not using Legacy Storage? Do we still need to rename and delay removal?
# answer: we should just remove all of this
# TODO: remove this method https://gitlab.com/gitlab-org/gitlab/-/issues/320775
# rubocop: disable CodeReuse/ServiceClass
def remove_pages
def legacy_remove_pages
return unless Feature.enabled?(:pages_update_legacy_storage, default_enabled: true)
 
# Projects with a missing namespace cannot have their pages removed
Loading
Loading
Loading
Loading
@@ -8,6 +8,7 @@ def execute
 
DestroyPagesDeploymentsWorker.perform_async(project.id)
 
# TODO: remove this call https://gitlab.com/gitlab-org/gitlab/-/issues/320775
PagesRemoveWorker.perform_async(project.id) if Feature.enabled?(:pages_update_legacy_storage, default_enabled: true)
end
end
Loading
Loading
# frozen_string_literal: true
 
# TODO: remove this worker https://gitlab.com/gitlab-org/gitlab/-/issues/320775
class PagesRemoveWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
 
Loading
Loading
@@ -11,6 +12,6 @@ def perform(project_id)
project = Project.find_by_id(project_id)
return unless project
 
project.remove_pages
project.legacy_remove_pages
end
end
Loading
Loading
@@ -4117,7 +4117,7 @@ def enable_lfs
end
end
 
describe '#remove_pages' do
describe '#legacy_remove_pages' do
let(:project) { create(:project).tap { |project| project.mark_pages_as_deployed } }
let(:pages_metadatum) { project.pages_metadatum }
let(:namespace) { project.namespace }
Loading
Loading
@@ -4136,7 +4136,7 @@ def enable_lfs
expect_any_instance_of(Gitlab::PagesTransfer).to receive(:rename_project).and_return(true)
expect(PagesWorker).to receive(:perform_in).with(5.minutes, :remove, namespace.full_path, anything)
 
expect { project.remove_pages }.to change { pages_metadatum.reload.deployed }.from(true).to(false)
expect { project.legacy_remove_pages }.to change { pages_metadatum.reload.deployed }.from(true).to(false)
end
 
it 'does nothing if updates on legacy storage are disabled' do
Loading
Loading
@@ -4145,11 +4145,11 @@ def enable_lfs
expect(Gitlab::PagesTransfer).not_to receive(:new)
expect(PagesWorker).not_to receive(:perform_in)
 
project.remove_pages
project.legacy_remove_pages
end
 
it 'is run when the project is destroyed' do
expect(project).to receive(:remove_pages).and_call_original
expect(project).to receive(:legacy_remove_pages).and_call_original
 
expect { project.destroy }.not_to raise_error
end
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@
subject { described_class.new(project, build) }
 
before do
project.remove_pages
project.legacy_remove_pages
end
 
context '::TMP_EXTRACT_PATH' do
Loading
Loading
Loading
Loading
@@ -49,7 +49,7 @@
subject.perform(project.id)
end
 
it 'does not do anything in Project#remove_pages method' do
it 'does not do anything in Project#legacy_remove_pages method' do
expect(Gitlab::PagesTransfer).not_to receive(:new)
 
subject.perform(project.id)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment