From e3507c9282241047d4a983f6251c5692b0f9edee Mon Sep 17 00:00:00 2001 From: Dylan Griffith Date: Wed, 28 Feb 2018 13:56:18 +1100 Subject: [PATCH] Add inverse_of: :pipeline for pipeline.builds (#37987) 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. --- app/models/ci/pipeline.rb | 2 +- spec/services/ci/process_pipeline_service_spec.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) 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)