summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-03-06 20:33:42 +0900
committerShinya Maeda <shinya@gitlab.com>2018-03-06 20:33:42 +0900
commitc428aaac6613b9fcfecd479f7bb510a6e74b761c (patch)
treed042066f5be08e44de77bd22bce5829c930bd661
parent6066437385fa0527e97d93fbac46eb6e455a219b (diff)
downloadgitlab-ce-c428aaac6613b9fcfecd479f7bb510a6e74b761c.tar.gz
Revert unnecessary code running_or_pending_build_count removal
-rw-r--r--app/models/ci/build.rb1
-rw-r--r--app/models/project.rb6
-rw-r--r--spec/features/projects/jobs/user_browses_job_spec.rb2
3 files changed, 9 insertions, 0 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 3f037822154..b230b7f47ef 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -359,6 +359,7 @@ module Ci
project.execute_hooks(build_data.dup, :job_hooks)
project.execute_services(build_data.dup, :job_hooks)
PagesService.new(build_data).execute
+ project.running_or_pending_build_count(force: true)
end
def artifacts_metadata_entry(path, **options)
diff --git a/app/models/project.rb b/app/models/project.rb
index 58c4094918c..a11b1e4f554 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1494,6 +1494,12 @@ class Project < ActiveRecord::Base
update_column(:import_jid, nil)
end
+ def running_or_pending_build_count(force: false)
+ Rails.cache.fetch(['projects', id, 'running_or_pending_build_count'], force: force) do
+ builds.running_or_pending.count(:all)
+ end
+ end
+
# Lazy loading of the `pipeline_status` attribute
def pipeline_status
@pipeline_status ||= Gitlab::Cache::Ci::ProjectPipelineStatus.load_for_project(self)
diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb
index 48462c193f1..4c49cff30d4 100644
--- a/spec/features/projects/jobs/user_browses_job_spec.rb
+++ b/spec/features/projects/jobs/user_browses_job_spec.rb
@@ -31,5 +31,7 @@ describe 'User browses a job', :js do
page.within('.erased') do
expect(page).to have_content('Job has been erased')
end
+
+ expect(build.project.running_or_pending_build_count).to eq(build.project.builds.running_or_pending.count(:all))
end
end