From b76ae638462ab0f673e5915986070518dd3f9ad3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Aug 2021 09:08:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-2-stable-ee --- lib/gitlab/ci/pipeline/chain/command.rb | 9 +++++---- lib/gitlab/ci/pipeline/chain/config/process.rb | 2 +- lib/gitlab/ci/pipeline/chain/sequence.rb | 1 + lib/gitlab/ci/pipeline/chain/skip.rb | 8 ++++---- lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb | 2 +- lib/gitlab/ci/pipeline/metrics.rb | 11 ++++++++++- lib/gitlab/ci/pipeline/seed/build.rb | 4 ++-- 7 files changed, 24 insertions(+), 13 deletions(-) (limited to 'lib/gitlab/ci/pipeline') diff --git a/lib/gitlab/ci/pipeline/chain/command.rb b/lib/gitlab/ci/pipeline/chain/command.rb index 7564d0c3ed5..626eba97817 100644 --- a/lib/gitlab/ci/pipeline/chain/command.rb +++ b/lib/gitlab/ci/pipeline/chain/command.rb @@ -97,15 +97,16 @@ module Gitlab .observe({ source: pipeline.source.to_s }, pipeline.total_size) end + def observe_jobs_count_in_alive_pipelines + metrics.active_jobs_histogram + .observe({ plan: project.actual_plan_name }, project.all_pipelines.jobs_count_in_alive_pipelines) + end + def increment_pipeline_failure_reason_counter(reason) metrics.pipeline_failure_reason_counter .increment(reason: (reason || :unknown_failure).to_s) end - def dangling_build? - %i[ondemand_dast_scan webide].include?(source) - end - private # Verifies that origin_ref is a fully qualified tag reference (refs/tags/) diff --git a/lib/gitlab/ci/pipeline/chain/config/process.rb b/lib/gitlab/ci/pipeline/chain/config/process.rb index 49ec1250a5f..5251dd3d40a 100644 --- a/lib/gitlab/ci/pipeline/chain/config/process.rb +++ b/lib/gitlab/ci/pipeline/chain/config/process.rb @@ -14,7 +14,7 @@ module Gitlab result = ::Gitlab::Ci::YamlProcessor.new( @command.config_content, { project: project, - ref: @pipeline.ref, + source_ref_path: @pipeline.source_ref_path, sha: @pipeline.sha, source: @pipeline.source, user: current_user, diff --git a/lib/gitlab/ci/pipeline/chain/sequence.rb b/lib/gitlab/ci/pipeline/chain/sequence.rb index dc648568129..bbfc6759b35 100644 --- a/lib/gitlab/ci/pipeline/chain/sequence.rb +++ b/lib/gitlab/ci/pipeline/chain/sequence.rb @@ -22,6 +22,7 @@ module Gitlab @command.observe_creation_duration(Time.now - @start) @command.observe_pipeline_size(@pipeline) + @command.observe_jobs_count_in_alive_pipelines @pipeline end diff --git a/lib/gitlab/ci/pipeline/chain/skip.rb b/lib/gitlab/ci/pipeline/chain/skip.rb index e4e4f4f484a..76dfb4cbd87 100644 --- a/lib/gitlab/ci/pipeline/chain/skip.rb +++ b/lib/gitlab/ci/pipeline/chain/skip.rb @@ -22,16 +22,16 @@ module Gitlab end end - def skipped? - !@command.ignore_skip_ci && (commit_message_skips_ci? || push_option_skips_ci?) - end - def break? skipped? end private + def skipped? + !@command.ignore_skip_ci && (commit_message_skips_ci? || push_option_skips_ci?) + end + def commit_message_skips_ci? return false unless @pipeline.git_commit_message diff --git a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb index 514241e8ae2..c7106f3ec39 100644 --- a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb +++ b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb @@ -11,7 +11,7 @@ module Gitlab PATTERN = %r{^\/([^\/]|\\/)+[^\\]\/[ismU]*}.freeze def initialize(regexp) - super(regexp.gsub(/\\\//, '/')) + super(regexp.gsub(%r{\\/}, '/')) unless Gitlab::UntrustedRegexp::RubySyntax.valid?(@value) raise Lexer::SyntaxError, 'Invalid regular expression!' diff --git a/lib/gitlab/ci/pipeline/metrics.rb b/lib/gitlab/ci/pipeline/metrics.rb index 84b88374a7f..10de77afe74 100644 --- a/lib/gitlab/ci/pipeline/metrics.rb +++ b/lib/gitlab/ci/pipeline/metrics.rb @@ -24,7 +24,16 @@ module Gitlab name = :gitlab_ci_pipeline_size_builds comment = 'Pipeline size' labels = { source: nil } - buckets = [0, 1, 5, 10, 20, 50, 100, 200, 500, 1000] + buckets = [0, 1, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 3000] + + ::Gitlab::Metrics.histogram(name, comment, labels, buckets) + end + + def self.active_jobs_histogram + name = :gitlab_ci_active_jobs + comment = 'Total amount of active jobs' + labels = { plan: nil } + buckets = [0, 200, 500, 1_000, 2_000, 5_000, 10_000] ::Gitlab::Metrics.histogram(name, comment, labels, buckets) end diff --git a/lib/gitlab/ci/pipeline/seed/build.rb b/lib/gitlab/ci/pipeline/seed/build.rb index 54d92745992..c393fed26de 100644 --- a/lib/gitlab/ci/pipeline/seed/build.rb +++ b/lib/gitlab/ci/pipeline/seed/build.rb @@ -39,7 +39,7 @@ module Gitlab @cache = Gitlab::Ci::Build::Cache .new(attributes.delete(:cache), @pipeline) - recalculate_yaml_variables! + calculate_yaml_variables! end def name @@ -232,7 +232,7 @@ module Gitlab { options: { allow_failure_criteria: nil } } end - def recalculate_yaml_variables! + def calculate_yaml_variables! @seed_attributes[:yaml_variables] = Gitlab::Ci::Variables::Helpers.inherit_yaml_variables( from: @context.root_variables, to: @job_variables, inheritance: @root_variables_inheritance ) -- cgit v1.2.1