Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-21 18:10:03 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-21 18:10:03 +0300
commitd5098d9fe3a5f05d9b90996851ab753f8b40cf65 (patch)
tree6f909667e89a3ad70e10c39b48fc417459b759fd /lib/gitlab
parent4ea7a80898d3266d386ca928d7c253d4bf588e1c (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/ci/features.rb4
-rw-r--r--lib/gitlab/email/receiver.rb10
-rw-r--r--lib/gitlab/metrics/instrumentation.rb17
-rw-r--r--lib/gitlab/setup_helper.rb20
4 files changed, 47 insertions, 4 deletions
diff --git a/lib/gitlab/ci/features.rb b/lib/gitlab/ci/features.rb
index 934d1a4c9f1..895daf65d0d 100644
--- a/lib/gitlab/ci/features.rb
+++ b/lib/gitlab/ci/features.rb
@@ -83,6 +83,10 @@ module Gitlab
def self.project_transactionless_destroy?(project)
Feature.enabled?(:project_transactionless_destroy, project, default_enabled: false)
end
+
+ def self.coverage_report_view?(project)
+ ::Feature.enabled?(:coverage_report_view, project)
+ end
end
end
end
diff --git a/lib/gitlab/email/receiver.rb b/lib/gitlab/email/receiver.rb
index bf6c28b9f90..f5e47b43a9a 100644
--- a/lib/gitlab/email/receiver.rb
+++ b/lib/gitlab/email/receiver.rb
@@ -54,7 +54,8 @@ module Gitlab
def key_from_additional_headers(mail)
find_key_from_references(mail) ||
find_key_from_delivered_to_header(mail) ||
- find_key_from_envelope_to_header(mail)
+ find_key_from_envelope_to_header(mail) ||
+ find_key_from_x_envelope_to_header(mail)
end
def ensure_references_array(references)
@@ -91,6 +92,13 @@ module Gitlab
end
end
+ def find_key_from_x_envelope_to_header(mail)
+ Array(mail[:x_envelope_to]).find do |header|
+ key = Gitlab::IncomingEmail.key_from_address(header.value)
+ break key if key
+ end
+ end
+
def ignore_auto_reply!(mail)
if auto_submitted?(mail) || auto_replied?(mail)
raise AutoGeneratedEmailError
diff --git a/lib/gitlab/metrics/instrumentation.rb b/lib/gitlab/metrics/instrumentation.rb
index ff3fffe7b95..66361529546 100644
--- a/lib/gitlab/metrics/instrumentation.rb
+++ b/lib/gitlab/metrics/instrumentation.rb
@@ -120,9 +120,6 @@ module Gitlab
def self.instrument(type, mod, name)
return unless ::Gitlab::Metrics.enabled?
- name = name.to_sym
- target = type == :instance ? mod : mod.singleton_class
-
if type == :instance
target = mod
method_name = "##{name}"
@@ -154,6 +151,8 @@ module Gitlab
'*args'
end
+ method_visibility = method_visibility_for(target, name)
+
proxy_module.class_eval <<-EOF, __FILE__, __LINE__ + 1
def #{name}(#{args_signature})
if trans = Gitlab::Metrics::Instrumentation.transaction
@@ -163,11 +162,23 @@ module Gitlab
super
end
end
+ #{method_visibility} :#{name}
EOF
target.prepend(proxy_module)
end
+ def self.method_visibility_for(mod, name)
+ if mod.private_method_defined?(name)
+ :private
+ elsif mod.protected_method_defined?(name)
+ :protected
+ else
+ :public
+ end
+ end
+ private_class_method :method_visibility_for
+
# Small layer of indirection to make it easier to stub out the current
# transaction.
def self.transaction
diff --git a/lib/gitlab/setup_helper.rb b/lib/gitlab/setup_helper.rb
index 64a30fbe16c..47c685f1bc8 100644
--- a/lib/gitlab/setup_helper.rb
+++ b/lib/gitlab/setup_helper.rb
@@ -28,6 +28,26 @@ module Gitlab
end
# rubocop:enable Rails/Output
+ module Workhorse
+ extend Gitlab::SetupHelper
+ class << self
+ def configuration_toml(dir, _)
+ config = { redis: { URL: redis_url } }
+
+ TomlRB.dump(config)
+ end
+
+ def redis_url
+ data = YAML.load_file(Rails.root.join('config/resque.yml'))
+ data.dig(Rails.env, 'url')
+ end
+
+ def get_config_path(dir)
+ File.join(dir, 'config.toml')
+ end
+ end
+ end
+
module Gitaly
extend Gitlab::SetupHelper
class << self