summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Griffith <dyl.griffith@gmail.com>2018-02-28 13:56:18 +1100
committerDylan Griffith <dyl.griffith@gmail.com>2018-03-21 15:31:29 +1100
commite3507c9282241047d4a983f6251c5692b0f9edee (patch)
treec8128c9a893d6798f6f3b55eab0e19f03275623f
parent59de0443edba21a2110f783a4b2595bc02e7db0f (diff)
downloadgitlab-ce-37987-speed-up-pipeline-creation.tar.gz
Add inverse_of: :pipeline for pipeline.builds (#37987)37987-speed-up-pipeline-creation
This appears to reduce the number of queries in pipeline creation of gitlab-ce's .gitlab-ci.yml by 92 This also means we now need to mock this ci yaml file properly in the test because otherwise the yaml_errors stay on the object and make all the pipelines failed.
-rw-r--r--app/models/ci/pipeline.rb2
-rw-r--r--spec/services/ci/process_pipeline_service_spec.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index a72a815bfe8..103c36c4668 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -14,7 +14,7 @@ module Ci
has_many :stages
has_many :statuses, class_name: 'CommitStatus', foreign_key: :commit_id, inverse_of: :pipeline
- has_many :builds, foreign_key: :commit_id
+ has_many :builds, foreign_key: :commit_id, inverse_of: :pipeline
has_many :trigger_requests, dependent: :destroy, foreign_key: :commit_id # rubocop:disable Cop/ActiveRecordDependent
has_many :variables, class_name: 'Ci::PipelineVariable'
diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb
index 0ce41e7c7ee..feb5120bc68 100644
--- a/spec/services/ci/process_pipeline_service_spec.rb
+++ b/spec/services/ci/process_pipeline_service_spec.rb
@@ -9,6 +9,8 @@ describe Ci::ProcessPipelineService, '#execute' do
end
before do
+ stub_ci_pipeline_to_return_yaml_file
+
stub_not_protect_default_branch
project.add_developer(user)