diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2018-02-28 13:56:18 +1100 |
---|---|---|
committer | Dylan Griffith <dyl.griffith@gmail.com> | 2018-03-21 15:31:29 +1100 |
commit | e3507c9282241047d4a983f6251c5692b0f9edee (patch) | |
tree | c8128c9a893d6798f6f3b55eab0e19f03275623f | |
parent | 59de0443edba21a2110f783a4b2595bc02e7db0f (diff) | |
download | gitlab-ce-e3507c9282241047d4a983f6251c5692b0f9edee.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.rb | 2 | ||||
-rw-r--r-- | spec/services/ci/process_pipeline_service_spec.rb | 2 |
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) |