diff options
Diffstat (limited to 'lib/gitlab/cache/ci/project_pipeline_status.rb')
-rw-r--r-- | lib/gitlab/cache/ci/project_pipeline_status.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/gitlab/cache/ci/project_pipeline_status.rb b/lib/gitlab/cache/ci/project_pipeline_status.rb index e7a7d23ef7e..d981f263c5e 100644 --- a/lib/gitlab/cache/ci/project_pipeline_status.rb +++ b/lib/gitlab/cache/ci/project_pipeline_status.rb @@ -49,7 +49,8 @@ module Gitlab def load_status return if loaded? - return unless commit + + return unless Gitlab::Ci::Features.pipeline_status_omit_commit_sha_in_cache_key?(project) || commit if has_cache? load_from_cache @@ -66,6 +67,8 @@ module Gitlab end def load_from_project + return unless commit + self.sha, self.status, self.ref = commit.sha, commit.status, project.default_branch end @@ -114,7 +117,11 @@ module Gitlab end def cache_key - "#{Gitlab::Redis::Cache::CACHE_NAMESPACE}:project:#{project.id}:pipeline_status:#{commit&.sha}" + if Gitlab::Ci::Features.pipeline_status_omit_commit_sha_in_cache_key?(project) + "#{Gitlab::Redis::Cache::CACHE_NAMESPACE}:project:#{project.id}:pipeline_status" + else + "#{Gitlab::Redis::Cache::CACHE_NAMESPACE}:project:#{project.id}:pipeline_status:#{commit&.sha}" + end end def commit |