Skip to content

Commit 959e358

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 0aa1eeb commit 959e358

File tree

80 files changed

+1313
-421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1313
-421
lines changed

.gitlab/CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1653,8 +1653,9 @@ ee/lib/gitlab/llm/chain/agents/single_action_executor.rb
16531653
ee/lib/gitlab/llm/chain/streamed_zero_shot_answer.rb
16541654
ee/lib/gitlab/llm/completions/chat.rb
16551655

1656-
[Code Suggestions] @code-creation-team/backend-engineers
1656+
[Code Suggestions] @jprovaznik @ck3g @acook.gitlab @partiaga @lma-git @missy-gitlab @tgao3701908 @emeraldjayde @squadri
16571657
ee/lib/api/code_suggestions.rb
1658+
ee/lib/ai/additional_context.rb
16581659
ee/lib/code_suggestions/
16591660
ee/lib/ai/context/dependencies/
16601661
ee/app/services/ai/repository_xray/

GITLAB_KAS_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
14515d822147fed159ea9d11ab04f097630ef075
1+
456a8af358cfde87bef3b63373bdf8b7b3ab9032

Gemfile.checksum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
{"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"},
9999
{"name":"css_parser","version":"1.14.0","platform":"ruby","checksum":"f2ce6148cd505297b07bdbe7a5db4cce5cf530071f9b732b9a23538d6cdc0113"},
100100
{"name":"cssbundling-rails","version":"1.4.1","platform":"ruby","checksum":"4b21273d627b21890da9155c88c67efc9274373d8b0add09149c262cf56c7ce1"},
101+
{"name":"csv","version":"3.3.0","platform":"ruby","checksum":"0bbd1defdc31134abefed027a639b3723c2753862150f4c3ee61cab71b20d67d"},
101102
{"name":"cvss-suite","version":"3.0.1","platform":"ruby","checksum":"b5ca9e9e94032a42fd0dc28c1e305378b62c949e35ed7111fc4a1d76f68ad3f9"},
102103
{"name":"danger","version":"9.4.2","platform":"ruby","checksum":"43e552c6731030235a30fdeafe703d2e2ab9c30917154489cb0ecd9ad3259d80"},
103104
{"name":"danger-gitlab","version":"8.0.0","platform":"ruby","checksum":"497dd7d0f6513913de651019223d8058cf494df10acbd17de92b175dfa04a3a8"},
@@ -334,7 +335,7 @@
334335
{"name":"ice_cube","version":"0.16.4","platform":"ruby","checksum":"da117e5de24bdc33931be629f9b55048641924442c7e9b72fedc05e5592531b7"},
335336
{"name":"ice_nine","version":"0.11.2","platform":"ruby","checksum":"5d506a7d2723d5592dc121b9928e4931742730131f22a1a37649df1c1e2e63db"},
336337
{"name":"imagen","version":"0.1.8","platform":"ruby","checksum":"fde7b727d4fe79c6bb5ac46c1f7184bf87a6d54df54d712ad2be039d2f93a162"},
337-
{"name":"influxdb-client","version":"3.1.0","platform":"ruby","checksum":"5e9dc505babd55352858e8a96fa42e152af37b22f1da83df02704405f3c801c8"},
338+
{"name":"influxdb-client","version":"3.2.0","platform":"ruby","checksum":"dc1e8ec80542f64c9f31af6d9bfa4c147474bf32b9179a7f0cab970793b8e1f2"},
338339
{"name":"invisible_captcha","version":"2.1.0","platform":"ruby","checksum":"02b452f3eb1b691d155ba3e8e97e1be0e6b6be62e8bc94957234b9cde0852b1e"},
339340
{"name":"io-event","version":"1.6.5","platform":"ruby","checksum":"5da4c044ac5f411563da1a4743d28c8d30d7802e29370db42139a52b807b4ce2"},
340341
{"name":"ipaddr","version":"1.2.5","platform":"ruby","checksum":"4e679c71d6d8ed99f925487082f70f9a958de155591caa0e7f6cef9aa160f17a"},

Gemfile.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ GEM
473473
addressable
474474
cssbundling-rails (1.4.1)
475475
railties (>= 6.0.0)
476+
csv (3.3.0)
476477
cvss-suite (3.0.1)
477478
danger (9.4.2)
478479
claide (~> 1.0)
@@ -1017,7 +1018,8 @@ GEM
10171018
ice_nine (0.11.2)
10181019
imagen (0.1.8)
10191020
parser (>= 2.5, != 2.5.1.1)
1020-
influxdb-client (3.1.0)
1021+
influxdb-client (3.2.0)
1022+
csv
10211023
invisible_captcha (2.1.0)
10221024
rails (>= 5.2)
10231025
io-event (1.6.5)

Gemfile.next.checksum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
{"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"},
9999
{"name":"css_parser","version":"1.14.0","platform":"ruby","checksum":"f2ce6148cd505297b07bdbe7a5db4cce5cf530071f9b732b9a23538d6cdc0113"},
100100
{"name":"cssbundling-rails","version":"1.4.1","platform":"ruby","checksum":"4b21273d627b21890da9155c88c67efc9274373d8b0add09149c262cf56c7ce1"},
101+
{"name":"csv","version":"3.3.0","platform":"ruby","checksum":"0bbd1defdc31134abefed027a639b3723c2753862150f4c3ee61cab71b20d67d"},
101102
{"name":"cvss-suite","version":"3.0.1","platform":"ruby","checksum":"b5ca9e9e94032a42fd0dc28c1e305378b62c949e35ed7111fc4a1d76f68ad3f9"},
102103
{"name":"danger","version":"9.4.2","platform":"ruby","checksum":"43e552c6731030235a30fdeafe703d2e2ab9c30917154489cb0ecd9ad3259d80"},
103104
{"name":"danger-gitlab","version":"8.0.0","platform":"ruby","checksum":"497dd7d0f6513913de651019223d8058cf494df10acbd17de92b175dfa04a3a8"},
@@ -335,7 +336,7 @@
335336
{"name":"ice_cube","version":"0.16.4","platform":"ruby","checksum":"da117e5de24bdc33931be629f9b55048641924442c7e9b72fedc05e5592531b7"},
336337
{"name":"ice_nine","version":"0.11.2","platform":"ruby","checksum":"5d506a7d2723d5592dc121b9928e4931742730131f22a1a37649df1c1e2e63db"},
337338
{"name":"imagen","version":"0.1.8","platform":"ruby","checksum":"fde7b727d4fe79c6bb5ac46c1f7184bf87a6d54df54d712ad2be039d2f93a162"},
338-
{"name":"influxdb-client","version":"3.1.0","platform":"ruby","checksum":"5e9dc505babd55352858e8a96fa42e152af37b22f1da83df02704405f3c801c8"},
339+
{"name":"influxdb-client","version":"3.2.0","platform":"ruby","checksum":"dc1e8ec80542f64c9f31af6d9bfa4c147474bf32b9179a7f0cab970793b8e1f2"},
339340
{"name":"invisible_captcha","version":"2.1.0","platform":"ruby","checksum":"02b452f3eb1b691d155ba3e8e97e1be0e6b6be62e8bc94957234b9cde0852b1e"},
340341
{"name":"io-console","version":"0.7.2","platform":"java","checksum":"73aa382f8832b116613ceaf57b8ff5bf73dfedcaf39f0aa5420e10f63a4543ed"},
341342
{"name":"io-console","version":"0.7.2","platform":"ruby","checksum":"f0dccff252f877a4f60d04a4dc6b442b185ebffb4b320ab69212a92b48a7a221"},

Gemfile.next.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ GEM
482482
addressable
483483
cssbundling-rails (1.4.1)
484484
railties (>= 6.0.0)
485+
csv (3.3.0)
485486
cvss-suite (3.0.1)
486487
danger (9.4.2)
487488
claide (~> 1.0)
@@ -1027,7 +1028,8 @@ GEM
10271028
ice_nine (0.11.2)
10281029
imagen (0.1.8)
10291030
parser (>= 2.5, != 2.5.1.1)
1030-
influxdb-client (3.1.0)
1031+
influxdb-client (3.2.0)
1032+
csv
10311033
invisible_captcha (2.1.0)
10321034
rails (>= 5.2)
10331035
io-console (0.7.2)

app/assets/javascripts/lib/utils/error_utils.js

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,6 @@
11
import { isEmpty, isString, isObject } from 'lodash';
22
import { sprintf, __ } from '~/locale';
33

4-
export class ActiveModelError extends Error {
5-
constructor(errorAttributeMap = {}, ...params) {
6-
// Pass remaining arguments (including vendor specific ones) to parent constructor
7-
super(...params);
8-
9-
// Maintains proper stack trace for where our error was thrown (only available on V8)
10-
if (Error.captureStackTrace) {
11-
Error.captureStackTrace(this, ActiveModelError);
12-
}
13-
14-
this.name = 'ActiveModelError';
15-
// Custom debugging information
16-
this.errorAttributeMap = errorAttributeMap;
17-
}
18-
}
19-
204
const DEFAULT_ERROR = {
215
message: __('Something went wrong. Please try again.'),
226
links: {},
@@ -94,8 +78,7 @@ function getMessageFromErrorString(errorString, errorDictionary = {}) {
9478
}
9579

9680
/**
97-
* Receives an Error and attempts to extract the `errorAttributeMap` in
98-
* case it is an `ActiveModelError` and returns the message if it exists.
81+
* Receives an Error and attempts to extract the `errorAttributeMap`
9982
* If a match is not found it will attempt to map a message from the
10083
* Error.message to be returned.
10184
* Otherwise, it will return a general error message.

app/components/pajamas/single_stat_component.html.haml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
.gl-single-stat.gl-flex.gl-flex-col.gl-p-2
2-
.gl-flex.gl-items-center.gl-text-gray-700.gl-mb-2
1+
.gl-single-stat.gl-flex.gl-flex-col.gl-py-2
2+
.gl-flex.gl-items-center.gl-text-gray-700.gl-mb-4
33
- if title_icon?
44
= sprite_icon(@title_icon, css_class: 'gl-mr-2')
5-
%span.gl-text-base.gl-font-normal{ data: { testid: 'title-text' } }
5+
%span.gl-text-base.gl-font-normal.gl-text-subtle{ data: { testid: 'title-text' } }
66
= title || @title
7-
.gl-single-stat-content.gl-flex.gl-items-baseline.gl-font-bold.gl-text-gray-900
7+
.gl-single-stat-content.gl-flex.gl-items-baseline.gl-font-bold.gl-text-gray-900.gl-mb-4
88
%span.gl-single-stat-number.gl-leading-1{ class: unit_class, data: { testid: 'displayValue' } }
99
%span{ data: { testid: @stat_value_testid } }
1010
= stat_value || @stat_value

app/controllers/concerns/groups/params.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ def group_params_attributes
1919
:emails_disabled,
2020
:emails_enabled,
2121
:show_diff_preview_in_email,
22-
:token_expiry_notify_inherited,
2322
:mentions_disabled,
2423
:lfs_enabled,
2524
:name,
@@ -51,6 +50,8 @@ def group_params_attributes
5150
:remove_dormant_members,
5251
:remove_dormant_members_period,
5352
:resource_access_token_creation_allowed,
53+
:resource_access_token_notify_inherited,
54+
:lock_resource_access_token_notify_inherited,
5455
:prevent_sharing_groups_outside_hierarchy,
5556
:setup_for_company,
5657
:jobs_to_be_done,

app/graphql/subscriptions/base_subscription.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ class BaseSubscription < GraphQL::Schema::Subscription
55
object_class Types::BaseObject
66
field_class Types::BaseField
77

8+
UNAUTHORIZED_ERROR_MESSAGE = 'Unauthorized subscription'
9+
810
def initialize(object:, context:, field:)
911
super
1012

@@ -33,7 +35,7 @@ def authorized?(*)
3335
def unauthorized!
3436
unsubscribe if context.query.subscription_update?
3537

36-
raise GraphQL::ExecutionError, 'Unauthorized subscription'
38+
raise GraphQL::ExecutionError, UNAUTHORIZED_ERROR_MESSAGE
3739
end
3840

3941
def current_user

app/helpers/application_settings_helper.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,8 @@ def visible_attributes
481481
:keep_latest_artifact,
482482
:whats_new_variant,
483483
:user_deactivation_emails_enabled,
484+
:resource_access_token_notify_inherited,
485+
:lock_resource_access_token_notify_inherited,
484486
:sentry_enabled,
485487
:sentry_dsn,
486488
:sentry_clientside_dsn,
@@ -512,7 +514,6 @@ def visible_attributes
512514
:allow_runner_registration_token,
513515
:user_defaults_to_private_profile,
514516
:deactivation_email_additional_text,
515-
:resource_token_expiry_inherited_members,
516517
:projects_api_rate_limit_unauthenticated,
517518
:group_api_limit,
518519
:group_invited_groups_api_limit,

app/models/application_setting.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -672,15 +672,16 @@ def self.kroki_formats_attributes
672672

673673
validates :sign_in_restrictions, json_schema: { filename: 'application_setting_sign_in_restrictions' }
674674

675-
validates :rate_limits, json_schema: { filename: "application_setting_rate_limits" }
676-
677-
validates :importers, json_schema: { filename: "application_setting_importers" }
678-
679675
jsonb_accessor :transactional_emails,
680-
resource_token_expiry_inherited_members: [:boolean, { default: true }]
676+
resource_access_token_notify_inherited: [:boolean, { default: false }],
677+
lock_resource_access_token_notify_inherited: [:boolean, { default: false }]
681678

682679
validates :transactional_emails, json_schema: { filename: "application_setting_transactional_emails" }
683680

681+
validates :rate_limits, json_schema: { filename: "application_setting_rate_limits" }
682+
683+
validates :importers, json_schema: { filename: "application_setting_importers" }
684+
684685
jsonb_accessor :package_registry, nuget_skip_metadata_url_validation: [:boolean, { default: false }]
685686

686687
validates :package_registry, json_schema: { filename: 'application_setting_package_registry' }

app/models/application_setting_implementation.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,9 @@ def defaults # rubocop:disable Metrics/AbcSize
168168
repository_storages_weighted: { 'default' => 100 },
169169
require_admin_approval_after_user_signup: true,
170170
require_two_factor_authentication: false,
171-
resource_token_expiry_inherited_members: true,
172171
resource_usage_limits: {},
172+
resource_access_token_notify_inherited: false,
173+
lock_resource_access_token_notify_inherited: false,
173174
restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels'],
174175
rsa_key_restriction: default_min_key_size(:rsa),
175176
session_expire_delay: Settings.gitlab['session_expire_delay'],

app/models/ci/job_token/authorization.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
module Ci
1010
module JobToken
1111
class Authorization < Ci::ApplicationRecord
12+
extend Gitlab::InternalEventsTracking
13+
1214
self.table_name = 'ci_job_token_authorizations'
1315

1416
belongs_to :origin_project, class_name: 'Project' # where the job token came from
@@ -22,9 +24,18 @@ class Authorization < Ci::ApplicationRecord
2224

2325
# Record in SafeRequestStore a cross-project access attempt
2426
def self.capture(origin_project:, accessed_project:)
27+
label = origin_project == accessed_project ? 'same-project' : 'cross-project'
28+
track_internal_event(
29+
'authorize_job_token_with_disabled_scope',
30+
project: accessed_project,
31+
additional_properties: {
32+
label: label
33+
}
34+
)
35+
2536
# Skip self-referential accesses as they are always allowed and don't need
2637
# to be logged neither added to the allowlist.
27-
return if origin_project == accessed_project
38+
return if label == 'same-project'
2839

2940
# We are tracking an attempt of cross-project utilization but we
3041
# are not yet persisting this log until a request successfully

app/models/doorkeeper/access_grant.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
module Doorkeeper # rubocop:disable Gitlab/NamespacedClass,Gitlab/BoundedContexts -- Override from a gem
4+
class AccessGrant < ApplicationRecord
5+
include ::Doorkeeper::Orm::ActiveRecord::Mixins::AccessGrant
6+
include SafelyChangeColumnDefault
7+
8+
columns_changing_default :organization_id
9+
10+
belongs_to :organization, class_name: 'Organizations::Organization', optional: false
11+
has_one :openid_request,
12+
class_name: 'Doorkeeper::OpenidConnect::Request',
13+
inverse_of: :access_grant
14+
end
15+
end

app/models/doorkeeper/access_token.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
# Original file https://github.com/doorkeeper-gem/doorkeeper/blob/main/lib/doorkeeper/orm/active_record/access_token.rb
4+
5+
module Doorkeeper # rubocop:disable Gitlab/NamespacedClass,Gitlab/BoundedContexts -- Override from a gem
6+
class AccessToken < ::ApplicationRecord
7+
include Doorkeeper::Orm::ActiveRecord::Mixins::AccessToken
8+
include SafelyChangeColumnDefault
9+
10+
columns_changing_default :organization_id
11+
12+
belongs_to :organization, class_name: 'Organizations::Organization', optional: false
13+
end
14+
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
module Doorkeeper # rubocop:disable Gitlab/NamespacedClass,Gitlab/BoundedContexts -- Override from a gem
4+
module DeviceAuthorizationGrant
5+
class DeviceGrant < ApplicationRecord
6+
include Doorkeeper::DeviceAuthorizationGrant::DeviceGrantMixin
7+
include SafelyChangeColumnDefault
8+
9+
columns_changing_default :organization_id
10+
11+
belongs_to :organization, class_name: 'Organizations::Organization', optional: false
12+
end
13+
end
14+
end
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Doorkeeper # rubocop:disable Gitlab/NamespacedClass,Gitlab/BoundedContexts -- Override from a gem
4+
module OpenidConnect
5+
class Request < ApplicationRecord
6+
self.table_name = :"#{table_name_prefix}oauth_openid_requests#{table_name_suffix}"
7+
include SafelyChangeColumnDefault
8+
9+
columns_changing_default :organization_id
10+
11+
validates :access_grant_id, :nonce, presence: true
12+
belongs_to :access_grant,
13+
class_name: 'Doorkeeper::AccessGrant',
14+
inverse_of: :openid_request
15+
16+
belongs_to :organization, class_name: 'Organizations::Organization', optional: false
17+
end
18+
end
19+
end

app/models/namespace.rb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ class Namespace < ApplicationRecord
176176
to: :namespace_settings
177177
delegate :emails_enabled, :emails_enabled=,
178178
to: :namespace_settings, allow_nil: true
179-
delegate :token_expiry_notify_inherited, :token_expiry_notify_inherited=, to: :namespace_settings
180179
delegate :allow_runner_registration_token,
181180
:allow_runner_registration_token=,
182181
to: :namespace_settings
@@ -193,6 +192,15 @@ class Namespace < ApplicationRecord
193192
to: :namespace_settings
194193
delegate :add_creator, :pending_delete, :pending_delete=, :deleted_at, :deleted_at=,
195194
to: :namespace_details
195+
delegate :resource_access_token_notify_inherited,
196+
:resource_access_token_notify_inherited=,
197+
:lock_resource_access_token_notify_inherited,
198+
:lock_resource_access_token_notify_inherited=,
199+
:resource_access_token_notify_inherited?,
200+
:resource_access_token_notify_inherited_locked?,
201+
:resource_access_token_notify_inherited_locked_by_ancestor?,
202+
:resource_access_token_notify_inherited_locked_by_application_setting?,
203+
to: :namespace_settings
196204

197205
before_create :sync_share_with_group_lock_with_parent
198206
before_update :sync_share_with_group_lock_with_parent, if: :parent_changed?
@@ -623,14 +631,6 @@ def closest_setting(name)
623631
.try(name)
624632
end
625633

626-
def can_modify_token_expiry_notify_inherited?
627-
ancestors.all?(&:token_expiry_notify_inherited)
628-
end
629-
630-
def token_expiry_notify_inherited?
631-
self_and_ancestors.all?(&:token_expiry_notify_inherited)
632-
end
633-
634634
def actual_plan
635635
Plan.default
636636
end

app/models/namespace_setting.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ class NamespaceSetting < ApplicationRecord
55
include Sanitizable
66
include ChronicDurationAttribute
77

8+
ignore_column :token_expiry_notify_inherited, remove_with: '17.9', remove_after: '2025-01-11'
89
ignore_column :third_party_ai_features_enabled, remove_with: '16.11', remove_after: '2024-04-18'
910
ignore_column :code_suggestions, remove_with: '17.8', remove_after: '2024-05-16'
1011
ignore_columns %i[toggle_security_policy_custom_ci lock_toggle_security_policy_custom_ci], remove_with: '17.6', remove_after: '2024-10-17'
1112

12-
cascading_attr :math_rendering_limits_enabled
13+
cascading_attr :math_rendering_limits_enabled, :resource_access_token_notify_inherited
1314

1415
scope :for_namespaces, ->(namespaces) { where(namespace: namespaces) }
1516

app/presenters/ci/build_runner_presenter.rb

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def runner_variables
4444

4545
def refspecs
4646
specs = []
47-
specs << refspec_for_persistent_ref if persistent_ref_exist?
47+
specs << refspec_for_persistent_ref
4848

4949
if git_depth > 0
5050
specs << refspec_for_branch(ref) if branch? || legacy_detached_merge_request_pipeline?
@@ -137,17 +137,6 @@ def refspec_for_persistent_ref
137137
"+#{pipeline.persistent_ref.path}:#{pipeline.persistent_ref.path}"
138138
end
139139

140-
def persistent_ref_exist?
141-
##
142-
# Persistent refs for pipelines definitely exist from GitLab 12.4,
143-
# hence, we don't need to check the ref existence before passing it to runners.
144-
# Checking refs pressurizes gitaly node and should be avoided.
145-
# Issue: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/2143
146-
return true if Feature.enabled?(:ci_skip_persistent_ref_existence_check)
147-
148-
pipeline.persistent_ref.exist?
149-
end
150-
151140
def git_depth_variable
152141
strong_memoize(:git_depth_variable) do
153142
variables&.find { |variable| variable[:key] == 'GIT_DEPTH' }

0 commit comments

Comments
 (0)