diff --git a/app/models/repository.rb b/app/models/repository.rb index c3ae461a016..c0730b34316 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -138,7 +138,7 @@ class Repository end def add_tag(tag_name, ref, message = nil) - expire_tags_cache + before_push_tag gitlab_shell.add_tag(path_with_namespace, tag_name, ref, message) end @@ -334,6 +334,7 @@ class Repository # Runs code before pushing (= creating or removing) a tag. def before_push_tag expire_cache + expire_tags_cache expire_tag_count_cache end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 40cbb3d635e..97778c354a4 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -649,6 +649,17 @@ describe Repository, models: true do end end + describe '#add_tag' do + it 'adds a tag' do + expect(repository).to receive(:before_push_tag) + + expect_any_instance_of(Gitlab::Shell).to receive(:add_tag). + with(repository.path_with_namespace, '8.5', 'master', 'foo') + + repository.add_tag('8.5', 'master', 'foo') + end + end + describe '#rm_branch' do let(:user) { create(:user) }