From 5b296f81e2f49fc7dc2d3b091340a9a8b86eae97 Mon Sep 17 00:00:00 2001 From: Maxim Rydkin Date: Wed, 6 Sep 2017 14:26:15 +0300 Subject: move `lib/ci/mask_secret.rb` into `lib/gitlab/ci/mask_secret.rb` --- app/models/ci/build.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 5ebe6f180e6..ee544d8ac56 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -446,8 +446,8 @@ module Ci return unless trace trace = trace.dup - Ci::MaskSecret.mask!(trace, project.runners_token) if project - Ci::MaskSecret.mask!(trace, token) + Gitlab::Ci::MaskSecret.mask!(trace, project.runners_token) if project + Gitlab::Ci::MaskSecret.mask!(trace, token) trace end -- cgit v1.2.1 From 79e1f33f13095e3781bc3fc07efd52921c4ed756 Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Wed, 27 Sep 2017 16:01:33 +0200 Subject: Expose GitLab features to the CI runner --- app/models/ci/build.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index ee544d8ac56..dd315866e60 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -229,6 +229,10 @@ module Ci variables end + def features + { trace_sections: true } + end + def merge_request return @merge_request if defined?(@merge_request) -- cgit v1.2.1 From 91f8e734fee1f9e7a16573f7185c48f442e3bb5e Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Mon, 25 Sep 2017 18:54:08 +0200 Subject: Add CI build trace sections extractor --- app/models/ci/build.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index dd315866e60..72e646210a8 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -11,6 +11,7 @@ module Ci has_many :deployments, as: :deployable has_one :last_deployment, -> { order('deployments.id DESC') }, as: :deployable, class_name: 'Deployment' + has_many :trace_sections, class_name: 'Ci::BuildTraceSection' # The "environment" field for builds is a String, and is the unexpanded name def persisted_environment @@ -265,6 +266,27 @@ module Ci update_attributes(coverage: coverage) if coverage.present? end + def parse_trace_sections! + return false unless trace_sections.empty? + + sections = trace.extract_sections.map do |attr| + name = attr.delete(:name) + name_record = begin + project.build_trace_section_names.find_or_create_by!(name: name) + rescue ActiveRecord::RecordInvalid + project.build_trace_section_names.find_by!(name: name) + end + + attr.merge( + build_id: self.id, + project_id: self.project_id, + section_name_id: name_record.id) + end + + Gitlab::Database.bulk_insert(Ci::BuildTraceSection.table_name, sections) + true + end + def trace Gitlab::Ci::Trace.new(self) end -- cgit v1.2.1 From c0cfc9ebd26583c444f2cce1a23f939bfa7d8969 Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Fri, 6 Oct 2017 12:33:10 +0200 Subject: Extract `Ci::Build#parse_trace_sections!` into a service --- app/models/ci/build.rb | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) (limited to 'app/models/ci/build.rb') diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 72e646210a8..6ca46ae89c1 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -267,24 +267,7 @@ module Ci end def parse_trace_sections! - return false unless trace_sections.empty? - - sections = trace.extract_sections.map do |attr| - name = attr.delete(:name) - name_record = begin - project.build_trace_section_names.find_or_create_by!(name: name) - rescue ActiveRecord::RecordInvalid - project.build_trace_section_names.find_by!(name: name) - end - - attr.merge( - build_id: self.id, - project_id: self.project_id, - section_name_id: name_record.id) - end - - Gitlab::Database.bulk_insert(Ci::BuildTraceSection.table_name, sections) - true + ExtractSectionsFromBuildTraceService.new(project, user).execute(self) end def trace -- cgit v1.2.1