Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
d64e3a8b28
commit
dee9315801
|
@ -4162,7 +4162,7 @@ Please view this file on the master branch, on stable branches it's out of date.
|
|||
- Show hook errors for fast-forward merges. !1375
|
||||
- Allow all parameters of group webhooks to be set through the UI. !1376
|
||||
- Fix Elasticsearch queries when a group_id is specified. !1423
|
||||
- Check the right index mapping based on Rails environment for rake gitlab:elastic:add_feature_visiblity_levels_to_project. !1473
|
||||
- Check the right index mapping based on Rails environment for rake gitlab:elastic:add_feature_visibility_levels_to_project. !1473
|
||||
- Fix issues with another milestone that has a matching list label could not be added to a board.
|
||||
- Only admins or group owners can set LDAP overrides.
|
||||
- Add support for load balancing database queries.
|
||||
|
|
16
Gemfile.lock
16
Gemfile.lock
|
@ -80,14 +80,16 @@ GEM
|
|||
encryptor (~> 3.0.0)
|
||||
attr_required (1.0.1)
|
||||
awesome_print (1.8.0)
|
||||
aws-sdk (2.9.32)
|
||||
aws-sdk-resources (= 2.9.32)
|
||||
aws-sdk-core (2.9.32)
|
||||
aws-eventstream (1.0.3)
|
||||
aws-sdk (2.11.374)
|
||||
aws-sdk-resources (= 2.11.374)
|
||||
aws-sdk-core (2.11.374)
|
||||
aws-sigv4 (~> 1.0)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-resources (2.9.32)
|
||||
aws-sdk-core (= 2.9.32)
|
||||
aws-sigv4 (1.0.0)
|
||||
aws-sdk-resources (2.11.374)
|
||||
aws-sdk-core (= 2.11.374)
|
||||
aws-sigv4 (1.1.0)
|
||||
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||
axiom-types (0.1.1)
|
||||
descendants_tracker (~> 0.0.4)
|
||||
ice_nine (~> 0.11.0)
|
||||
|
@ -506,7 +508,7 @@ GEM
|
|||
atlassian-jwt
|
||||
multipart-post
|
||||
oauth (~> 0.5, >= 0.5.0)
|
||||
jmespath (1.3.1)
|
||||
jmespath (1.4.0)
|
||||
js_regex (3.1.1)
|
||||
character_set (~> 1.1)
|
||||
regexp_parser (~> 1.1)
|
||||
|
|
|
@ -41,7 +41,7 @@ export default {
|
|||
noForkText() {
|
||||
return sprintf(
|
||||
__(
|
||||
"To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private.",
|
||||
"To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private.",
|
||||
),
|
||||
{ link_start: `<a href="${this.newForkPath}" class="help-link">`, link_end: '</a>' },
|
||||
false,
|
||||
|
|
|
@ -12,7 +12,7 @@ class Admin::ProjectsFinder
|
|||
def execute
|
||||
items = Project.without_deleted.with_statistics.with_route
|
||||
items = by_namespace_id(items)
|
||||
items = by_visibilty_level(items)
|
||||
items = by_visibility_level(items)
|
||||
items = by_with_push(items)
|
||||
items = by_abandoned(items)
|
||||
items = by_last_repository_check_failed(items)
|
||||
|
@ -31,7 +31,7 @@ class Admin::ProjectsFinder
|
|||
end
|
||||
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
def by_visibilty_level(items)
|
||||
def by_visibility_level(items)
|
||||
params[:visibility_level].present? ? items.where(visibility_level: params[:visibility_level]) : items
|
||||
end
|
||||
# rubocop: enable CodeReuse/ActiveRecord
|
||||
|
|
|
@ -201,9 +201,9 @@ module VisibilityLevelHelper
|
|||
|
||||
def visibility_level_errors_for_group(group, level_name)
|
||||
group_name = link_to group.name, group_path(group)
|
||||
change_visiblity = link_to 'change the visibility', edit_group_path(group)
|
||||
change_visibility = link_to 'change the visibility', edit_group_path(group)
|
||||
|
||||
{ reason: "the visibility of #{group_name} is #{group.visibility}",
|
||||
instruction: " To make this group #{level_name}, you must first #{change_visiblity} of the parent group." }
|
||||
instruction: " To make this group #{level_name}, you must first #{change_visibility} of the parent group." }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Make Bitbucket Cloud superseded pull requests as closed
|
||||
merge_request: 19193
|
||||
author:
|
||||
type: fixed
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Update AWS SDK to 2.11.374
|
||||
merge_request: 18601
|
||||
author:
|
||||
type: other
|
|
@ -16,9 +16,10 @@ module Bitbucket
|
|||
end
|
||||
|
||||
def state
|
||||
if raw['state'] == 'MERGED'
|
||||
case raw['state']
|
||||
when 'MERGED'
|
||||
'merged'
|
||||
elsif raw['state'] == 'DECLINED'
|
||||
when 'DECLINED', 'SUPERSEDED'
|
||||
'closed'
|
||||
else
|
||||
'opened'
|
||||
|
|
|
@ -50,7 +50,6 @@ module Gitlab
|
|||
validates :timeout, duration: { limit: ChronicDuration.output(Project::MAX_BUILD_TIMEOUT) }
|
||||
|
||||
validates :dependencies, array_of_strings: true
|
||||
validates :needs, array_of_strings: true
|
||||
validates :extends, array_of_strings_or_string: true
|
||||
validates :rules, array_of_hashes: true
|
||||
end
|
||||
|
@ -114,6 +113,11 @@ module Gitlab
|
|||
description: 'List of evaluable Rules to determine job inclusion.',
|
||||
inherit: false
|
||||
|
||||
entry :needs, Entry::Needs,
|
||||
description: 'Needs configuration for this job.',
|
||||
metadata: { allowed_needs: %i[job] },
|
||||
inherit: false
|
||||
|
||||
entry :variables, Entry::Variables,
|
||||
description: 'Environment variables available for this job.',
|
||||
inherit: false
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module Ci
|
||||
class Config
|
||||
module Entry
|
||||
class Need < ::Gitlab::Config::Entry::Simplifiable
|
||||
strategy :Job, if: -> (config) { config.is_a?(String) }
|
||||
|
||||
class Job < ::Gitlab::Config::Entry::Node
|
||||
include ::Gitlab::Config::Entry::Validatable
|
||||
|
||||
validations do
|
||||
validates :config, presence: true
|
||||
validates :config, type: String
|
||||
end
|
||||
|
||||
def type
|
||||
:job
|
||||
end
|
||||
|
||||
def value
|
||||
{ name: @config }
|
||||
end
|
||||
end
|
||||
|
||||
class UnknownStrategy < ::Gitlab::Config::Entry::Node
|
||||
def type
|
||||
end
|
||||
|
||||
def value
|
||||
end
|
||||
|
||||
def errors
|
||||
["#{location} has an unsupported type"]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
::Gitlab::Ci::Config::Entry::Need.prepend_if_ee('::EE::Gitlab::Ci::Config::Entry::Need')
|
|
@ -0,0 +1,55 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module Ci
|
||||
class Config
|
||||
module Entry
|
||||
##
|
||||
# Entry that represents a set of needs dependencies.
|
||||
#
|
||||
class Needs < ::Gitlab::Config::Entry::Node
|
||||
include ::Gitlab::Config::Entry::Validatable
|
||||
|
||||
validations do
|
||||
validates :config, presence: true
|
||||
|
||||
validate do
|
||||
unless config.is_a?(Hash) || config.is_a?(Array)
|
||||
errors.add(:config, 'can only be a Hash or an Array')
|
||||
end
|
||||
end
|
||||
|
||||
validate on: :composed do
|
||||
extra_keys = value.keys - opt(:allowed_needs)
|
||||
if extra_keys.any?
|
||||
errors.add(:config, "uses invalid types: #{extra_keys.join(', ')}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def compose!(deps = nil)
|
||||
super(deps) do
|
||||
[@config].flatten.each_with_index do |need, index|
|
||||
@entries[index] = ::Gitlab::Config::Entry::Factory.new(Entry::Need)
|
||||
.value(need)
|
||||
.with(key: "need", parent: self, description: "need definition.") # rubocop:disable CodeReuse/ActiveRecord
|
||||
.create!
|
||||
end
|
||||
|
||||
@entries.each_value do |entry|
|
||||
entry.compose!(deps)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def value
|
||||
values = @entries.values.select(&:type)
|
||||
values.group_by(&:type).transform_values do |values|
|
||||
values.map(&:value)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -40,7 +40,7 @@ module Gitlab
|
|||
environment: job[:environment_name],
|
||||
coverage_regex: job[:coverage],
|
||||
yaml_variables: yaml_variables(name),
|
||||
needs_attributes: job[:needs]&.map { |need| { name: need } },
|
||||
needs_attributes: job.dig(:needs, :job),
|
||||
interruptible: job[:interruptible],
|
||||
rules: job[:rules],
|
||||
options: {
|
||||
|
@ -59,7 +59,7 @@ module Gitlab
|
|||
instance: job[:instance],
|
||||
start_in: job[:start_in],
|
||||
trigger: job[:trigger],
|
||||
bridge_needs: job[:needs]
|
||||
bridge_needs: job.dig(:needs, :bridge)&.first
|
||||
}.compact }.compact
|
||||
end
|
||||
|
||||
|
@ -159,17 +159,19 @@ module Gitlab
|
|||
end
|
||||
|
||||
def validate_job_needs!(name, job)
|
||||
return unless job[:needs]
|
||||
return unless job.dig(:needs, :job)
|
||||
|
||||
stage_index = @stages.index(job[:stage])
|
||||
|
||||
job[:needs].each do |need|
|
||||
raise ValidationError, "#{name} job: undefined need: #{need}" unless @jobs[need.to_sym]
|
||||
job.dig(:needs, :job).each do |need|
|
||||
need_job_name = need[:name]
|
||||
|
||||
needs_stage_index = @stages.index(@jobs[need.to_sym][:stage])
|
||||
raise ValidationError, "#{name} job: undefined need: #{need_job_name}" unless @jobs[need_job_name.to_sym]
|
||||
|
||||
needs_stage_index = @stages.index(@jobs[need_job_name.to_sym][:stage])
|
||||
|
||||
unless needs_stage_index.present? && needs_stage_index < stage_index
|
||||
raise ValidationError, "#{name} job: need #{need} is not defined in prior stages"
|
||||
raise ValidationError, "#{name} job: need #{need_job_name} is not defined in prior stages"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,22 +29,24 @@ module Gitlab
|
|||
def compose!(deps = nil)
|
||||
return unless valid?
|
||||
|
||||
self.class.nodes.each do |key, factory|
|
||||
# If we override the config type validation
|
||||
# we can end with different config types like String
|
||||
next unless config.is_a?(Hash)
|
||||
super do
|
||||
self.class.nodes.each do |key, factory|
|
||||
# If we override the config type validation
|
||||
# we can end with different config types like String
|
||||
next unless config.is_a?(Hash)
|
||||
|
||||
factory
|
||||
.value(config[key])
|
||||
.with(key: key, parent: self)
|
||||
factory
|
||||
.value(config[key])
|
||||
.with(key: key, parent: self)
|
||||
|
||||
entries[key] = factory.create!
|
||||
end
|
||||
entries[key] = factory.create!
|
||||
end
|
||||
|
||||
yield if block_given?
|
||||
yield if block_given?
|
||||
|
||||
entries.each_value do |entry|
|
||||
entry.compose!(deps)
|
||||
entries.each_value do |entry|
|
||||
entry.compose!(deps)
|
||||
end
|
||||
end
|
||||
end
|
||||
# rubocop: enable CodeReuse/ActiveRecord
|
||||
|
@ -67,12 +69,13 @@ module Gitlab
|
|||
private
|
||||
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
def entry(key, entry, description: nil, default: nil, inherit: nil, reserved: nil)
|
||||
def entry(key, entry, description: nil, default: nil, inherit: nil, reserved: nil, metadata: {})
|
||||
factory = ::Gitlab::Config::Entry::Factory.new(entry)
|
||||
.with(description: description)
|
||||
.with(default: default)
|
||||
.with(inherit: inherit)
|
||||
.with(reserved: reserved)
|
||||
.metadata(metadata)
|
||||
|
||||
(@nodes ||= {}).merge!(key.to_sym => factory)
|
||||
end
|
||||
|
|
|
@ -112,6 +112,10 @@ module Gitlab
|
|||
@aspects ||= []
|
||||
end
|
||||
|
||||
def self.with_aspect(blk)
|
||||
self.aspects.append(blk)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
attr_reader :entries
|
||||
|
|
|
@ -4,11 +4,11 @@ module Gitlab
|
|||
module Config
|
||||
module Entry
|
||||
class Simplifiable < SimpleDelegator
|
||||
EntryStrategy = Struct.new(:name, :condition)
|
||||
EntryStrategy = Struct.new(:name, :klass, :condition)
|
||||
|
||||
attr_reader :subject
|
||||
|
||||
def initialize(config, **metadata)
|
||||
def initialize(config, **metadata, &blk)
|
||||
unless self.class.const_defined?(:UnknownStrategy)
|
||||
raise ArgumentError, 'UndefinedStrategy not available!'
|
||||
end
|
||||
|
@ -19,14 +19,13 @@ module Gitlab
|
|||
|
||||
entry = self.class.entry_class(strategy)
|
||||
|
||||
@subject = entry.new(config, metadata)
|
||||
@subject = entry.new(config, metadata, &blk)
|
||||
|
||||
yield(@subject) if block_given?
|
||||
super(@subject)
|
||||
end
|
||||
|
||||
def self.strategy(name, **opts)
|
||||
EntryStrategy.new(name, opts.fetch(:if)).tap do |strategy|
|
||||
EntryStrategy.new(name, opts.dig(:class), opts.fetch(:if)).tap do |strategy|
|
||||
strategies.append(strategy)
|
||||
end
|
||||
end
|
||||
|
@ -37,7 +36,7 @@ module Gitlab
|
|||
|
||||
def self.entry_class(strategy)
|
||||
if strategy.present?
|
||||
self.const_get(strategy.name, false)
|
||||
strategy.klass || self.const_get(strategy.name, false)
|
||||
else
|
||||
self::UnknownStrategy
|
||||
end
|
||||
|
|
|
@ -7,14 +7,27 @@ module Gitlab
|
|||
extend ActiveSupport::Concern
|
||||
|
||||
def self.included(node)
|
||||
node.aspects.append -> do
|
||||
@validator = self.class.validator.new(self)
|
||||
@validator.validate(:new)
|
||||
node.with_aspect -> do
|
||||
validate(:new)
|
||||
end
|
||||
end
|
||||
|
||||
def validator
|
||||
@validator ||= self.class.validator.new(self)
|
||||
end
|
||||
|
||||
def validate(context = nil)
|
||||
validator.validate(context)
|
||||
end
|
||||
|
||||
def compose!(deps = nil, &blk)
|
||||
super(deps, &blk)
|
||||
|
||||
validate(:composed)
|
||||
end
|
||||
|
||||
def errors
|
||||
@validator.messages + descendants.flat_map(&:errors) # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||||
validator.messages + descendants.flat_map(&:errors)
|
||||
end
|
||||
|
||||
class_methods do
|
||||
|
|
|
@ -12,7 +12,7 @@ module Quality
|
|||
@namespace = namespace
|
||||
end
|
||||
|
||||
def cleanup(release_name:)
|
||||
def cleanup(release_name:, wait: true)
|
||||
selector = case release_name
|
||||
when String
|
||||
%(-l release="#{release_name}")
|
||||
|
@ -29,6 +29,7 @@ module Quality
|
|||
'--now',
|
||||
'--ignore-not-found',
|
||||
'--include-uninitialized',
|
||||
%(--wait=#{wait}),
|
||||
selector
|
||||
]
|
||||
|
||||
|
|
|
@ -16734,7 +16734,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16734,7 +16734,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr "Para abrir Jaeger y ver fácilmente la trazabilidad desde GitLab, enlace
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr "Para mantener el rendimiento, solo se muestran <strong>%{display_size} de %{real_size}</strong> archivos."
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -17344,7 +17344,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16470,7 +16470,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16470,7 +16470,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16470,7 +16470,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16470,7 +16470,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16382,7 +16382,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16558,7 +16558,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr "Для збереження швидкодії відображаються лише <strong>%{display_size} із %{real_size}</strong> файлів."
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr "请将%{link} 页面连接到您的 Jaeger 服务器,以便在 GitLab
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr "为了保持性能,仅显示文件中的 <strong>%{display_size}/%{real_size}</strong>。"
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -16294,7 +16294,7 @@ msgstr ""
|
|||
msgid "To preserve performance only <strong>%{display_size} of %{real_size}</strong> files are displayed."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visiblity to private."
|
||||
msgid "To protect this issue's confidentiality, %{link_start}fork the project%{link_end} and set the forks visibility to private."
|
||||
msgstr ""
|
||||
|
||||
msgid "To protect this issue's confidentiality, a private fork of this project was selected."
|
||||
|
|
|
@ -138,7 +138,7 @@ class AutomatedCleanup
|
|||
|
||||
releases_names = releases.map(&:name)
|
||||
helm.delete(release_name: releases_names)
|
||||
kubernetes.cleanup(release_name: releases_names)
|
||||
kubernetes.cleanup(release_name: releases_names, wait: false)
|
||||
|
||||
rescue Quality::HelmClient::CommandFailedError => ex
|
||||
raise ex unless ignore_exception?(ex.message, IGNORED_HELM_ERRORS)
|
||||
|
|
|
@ -136,7 +136,7 @@ describe "Compare", :js do
|
|||
def select_using_dropdown(dropdown_type, selection, commit: false)
|
||||
dropdown = find(".js-compare-#{dropdown_type}-dropdown")
|
||||
dropdown.find(".compare-dropdown-toggle").click
|
||||
# find input before using to wait for the inputs visiblity
|
||||
# find input before using to wait for the inputs visibility
|
||||
dropdown.find('.dropdown-menu')
|
||||
dropdown.fill_in("Filter by Git revision", with: selection)
|
||||
wait_for_requests
|
||||
|
@ -144,7 +144,7 @@ describe "Compare", :js do
|
|||
if commit
|
||||
dropdown.find('input[type="search"]').send_keys(:return)
|
||||
else
|
||||
# find before all to wait for the items visiblity
|
||||
# find before all to wait for the items visibility
|
||||
dropdown.find("a[data-ref=\"#{selection}\"]", match: :first)
|
||||
dropdown.all("a[data-ref=\"#{selection}\"]").last.click
|
||||
end
|
||||
|
|
|
@ -26,7 +26,7 @@ exports[`Confidential merge request project form group component renders empty s
|
|||
>
|
||||
fork the project
|
||||
</a>
|
||||
and set the forks visiblity to private.
|
||||
and set the forks visibility to private.
|
||||
</span>
|
||||
|
||||
<gllink-stub
|
||||
|
@ -76,7 +76,7 @@ exports[`Confidential merge request project form group component renders fork dr
|
|||
>
|
||||
fork the project
|
||||
</a>
|
||||
and set the forks visiblity to private.
|
||||
and set the forks visibility to private.
|
||||
</span>
|
||||
|
||||
<gllink-stub
|
||||
|
|
|
@ -178,13 +178,13 @@ describe('IDE clientside preview', () => {
|
|||
});
|
||||
|
||||
describe('showOpenInCodeSandbox', () => {
|
||||
it('returns true when visiblity is public', () => {
|
||||
it('returns true when visibility is public', () => {
|
||||
createComponent({ getters: { currentProject: () => ({ visibility: 'public' }) } });
|
||||
|
||||
expect(wrapper.vm.showOpenInCodeSandbox).toBe(true);
|
||||
});
|
||||
|
||||
it('returns false when visiblity is private', () => {
|
||||
it('returns false when visibility is private', () => {
|
||||
createComponent({ getters: { currentProject: () => ({ visibility: 'private' }) } });
|
||||
|
||||
expect(wrapper.vm.showOpenInCodeSandbox).toBe(false);
|
||||
|
|
|
@ -20,6 +20,7 @@ describe Bitbucket::Representation::PullRequest do
|
|||
describe '#state' do
|
||||
it { expect(described_class.new({ 'state' => 'MERGED' }).state).to eq('merged') }
|
||||
it { expect(described_class.new({ 'state' => 'DECLINED' }).state).to eq('closed') }
|
||||
it { expect(described_class.new({ 'state' => 'SUPERSEDED' }).state).to eq('closed') }
|
||||
it { expect(described_class.new({}).state).to eq('opened') }
|
||||
end
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ describe Gitlab::Ci::Config::Entry::Job do
|
|||
|
||||
let(:result) do
|
||||
%i[before_script script stage type after_script cache
|
||||
image services only except rules variables artifacts
|
||||
image services only except rules needs variables artifacts
|
||||
environment coverage retry]
|
||||
end
|
||||
|
||||
|
@ -384,21 +384,6 @@ describe Gitlab::Ci::Config::Entry::Job do
|
|||
end
|
||||
|
||||
context 'when has needs' do
|
||||
context 'that are not a array of strings' do
|
||||
let(:config) do
|
||||
{
|
||||
stage: 'test',
|
||||
script: 'echo',
|
||||
needs: 'build-job'
|
||||
}
|
||||
end
|
||||
|
||||
it 'returns error about invalid type' do
|
||||
expect(entry).not_to be_valid
|
||||
expect(entry.errors).to include 'job needs should be an array of strings'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when have dependencies that are not subset of needs' do
|
||||
let(:config) do
|
||||
{
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe ::Gitlab::Ci::Config::Entry::Need do
|
||||
subject(:need) { described_class.new(config) }
|
||||
|
||||
context 'when job is specified' do
|
||||
let(:config) { 'job_name' }
|
||||
|
||||
describe '#valid?' do
|
||||
it { is_expected.to be_valid }
|
||||
end
|
||||
|
||||
describe '#value' do
|
||||
it 'returns job needs configuration' do
|
||||
expect(need.value).to eq(name: 'job_name')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when need is empty' do
|
||||
let(:config) { '' }
|
||||
|
||||
describe '#valid?' do
|
||||
it { is_expected.not_to be_valid }
|
||||
end
|
||||
|
||||
describe '#errors' do
|
||||
it 'is returns an error about an empty config' do
|
||||
expect(need.errors)
|
||||
.to contain_exactly("job config can't be blank")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,84 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe ::Gitlab::Ci::Config::Entry::Needs do
|
||||
subject(:needs) { described_class.new(config) }
|
||||
|
||||
before do
|
||||
needs.metadata[:allowed_needs] = %i[job]
|
||||
end
|
||||
|
||||
describe 'validations' do
|
||||
before do
|
||||
needs.compose!
|
||||
end
|
||||
|
||||
context 'when entry config value is correct' do
|
||||
let(:config) { ['job_name'] }
|
||||
|
||||
describe '#valid?' do
|
||||
it { is_expected.to be_valid }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when config value has wrong type' do
|
||||
let(:config) { 123 }
|
||||
|
||||
describe '#valid?' do
|
||||
it { is_expected.not_to be_valid }
|
||||
end
|
||||
|
||||
describe '#errors' do
|
||||
it 'returns error about incorrect type' do
|
||||
expect(needs.errors)
|
||||
.to include('needs config can only be a hash or an array')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when wrong needs type is used' do
|
||||
let(:config) { [123] }
|
||||
|
||||
describe '#valid?' do
|
||||
it { is_expected.not_to be_valid }
|
||||
end
|
||||
|
||||
describe '#errors' do
|
||||
it 'returns error about incorrect type' do
|
||||
expect(needs.errors).to contain_exactly(
|
||||
'need has an unsupported type')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '.compose!' do
|
||||
context 'when valid job entries composed' do
|
||||
let(:config) { %w[first_job_name second_job_name] }
|
||||
|
||||
before do
|
||||
needs.compose!
|
||||
end
|
||||
|
||||
describe '#value' do
|
||||
it 'returns key value' do
|
||||
expect(needs.value).to eq(
|
||||
job: [
|
||||
{ name: 'first_job_name' },
|
||||
{ name: 'second_job_name' }
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#descendants' do
|
||||
it 'creates valid descendant nodes' do
|
||||
expect(needs.descendants.count).to eq 2
|
||||
expect(needs.descendants)
|
||||
.to all(be_an_instance_of(::Gitlab::Ci::Config::Entry::Need))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1253,7 +1253,7 @@ module Gitlab
|
|||
end
|
||||
end
|
||||
|
||||
describe "Needs" do
|
||||
describe "Job Needs" do
|
||||
let(:needs) { }
|
||||
let(:dependencies) { }
|
||||
|
||||
|
@ -1293,12 +1293,7 @@ module Gitlab
|
|||
stage: "test",
|
||||
stage_idx: 2,
|
||||
name: "test1",
|
||||
options: {
|
||||
script: ["test"],
|
||||
# This does not make sense, there is a follow-up:
|
||||
# https://gitlab.com/gitlab-org/gitlab-foss/issues/65569
|
||||
bridge_needs: %w[build1 build2]
|
||||
},
|
||||
options: { script: ["test"] },
|
||||
needs_attributes: [
|
||||
{ name: "build1" },
|
||||
{ name: "build2" }
|
||||
|
@ -1310,12 +1305,6 @@ module Gitlab
|
|||
end
|
||||
end
|
||||
|
||||
context 'needs two builds defined as symbols' do
|
||||
let(:needs) { [:build1, :build2] }
|
||||
|
||||
it { expect { subject }.not_to raise_error }
|
||||
end
|
||||
|
||||
context 'undefined need' do
|
||||
let(:needs) { ['undefined'] }
|
||||
|
||||
|
|
|
@ -73,22 +73,10 @@ describe Gitlab::Experimentation do
|
|||
end
|
||||
|
||||
describe 'URL parameter to force enable experiment' do
|
||||
context 'is not present' do
|
||||
# Disabled until https://gitlab.com/gitlab-org/gitlab/issues/34942 is solved properly
|
||||
xit 'returns false' do
|
||||
get :index, params: { force_experiment: :test_experiment2 }
|
||||
it 'returns true' do
|
||||
get :index, params: { force_experiment: :test_experiment }
|
||||
|
||||
expect(controller.experiment_enabled?(:test_experiment)).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'is present' do
|
||||
# Disabled until https://gitlab.com/gitlab-org/gitlab/issues/34942 is solved properly
|
||||
xit 'returns true' do
|
||||
get :index, params: { force_experiment: :test_experiment }
|
||||
|
||||
expect(controller.experiment_enabled?(:test_experiment)).to be_truthy
|
||||
end
|
||||
expect(controller.experiment_enabled?(:test_experiment)).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe Quality::KubernetesClient do
|
|||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized -l release=\"#{release_name}\""])
|
||||
"--now --ignore-not-found --include-uninitialized --wait=true -l release=\"#{release_name}\""])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: false)))
|
||||
|
||||
expect { subject.cleanup(release_name: release_name) }.to raise_error(described_class::CommandFailedError)
|
||||
|
@ -23,7 +23,7 @@ RSpec.describe Quality::KubernetesClient do
|
|||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized -l release=\"#{release_name}\""])
|
||||
"--now --ignore-not-found --include-uninitialized --wait=true -l release=\"#{release_name}\""])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: true)))
|
||||
|
||||
# We're not verifying the output here, just silencing it
|
||||
|
@ -37,7 +37,7 @@ RSpec.describe Quality::KubernetesClient do
|
|||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized -l 'release in (#{release_name.join(', ')})'"])
|
||||
"--now --ignore-not-found --include-uninitialized --wait=true -l 'release in (#{release_name.join(', ')})'"])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: false)))
|
||||
|
||||
expect { subject.cleanup(release_name: release_name) }.to raise_error(described_class::CommandFailedError)
|
||||
|
@ -47,12 +47,35 @@ RSpec.describe Quality::KubernetesClient do
|
|||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized -l 'release in (#{release_name.join(', ')})'"])
|
||||
"--now --ignore-not-found --include-uninitialized --wait=true -l 'release in (#{release_name.join(', ')})'"])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: true)))
|
||||
|
||||
# We're not verifying the output here, just silencing it
|
||||
expect { subject.cleanup(release_name: release_name) }.to output.to_stdout
|
||||
end
|
||||
end
|
||||
|
||||
context 'with `wait: false`' do
|
||||
it 'raises an error if the Kubernetes command fails' do
|
||||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized --wait=false -l release=\"#{release_name}\""])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: false)))
|
||||
|
||||
expect { subject.cleanup(release_name: release_name, wait: false) }.to raise_error(described_class::CommandFailedError)
|
||||
end
|
||||
|
||||
it 'calls kubectl with the correct arguments' do
|
||||
expect(Gitlab::Popen).to receive(:popen_with_detail)
|
||||
.with([%(kubectl --namespace "#{namespace}" delete ) \
|
||||
'ingress,svc,pdb,hpa,deploy,statefulset,job,pod,secret,configmap,pvc,secret,clusterrole,clusterrolebinding,role,rolebinding,sa ' \
|
||||
"--now --ignore-not-found --include-uninitialized --wait=false -l release=\"#{release_name}\""])
|
||||
.and_return(Gitlab::Popen::Result.new([], '', '', double(success?: true)))
|
||||
|
||||
# We're not verifying the output here, just silencing it
|
||||
expect { subject.cleanup(release_name: release_name, wait: false) }.to output.to_stdout
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue