diff --git a/app/graphql/types/clusters/agent_type.rb b/app/graphql/types/clusters/agent_type.rb
index 546252b2285..5d7b8815cde 100644
--- a/app/graphql/types/clusters/agent_type.rb
+++ b/app/graphql/types/clusters/agent_type.rb
@@ -71,3 +71,5 @@ module Types
end
end
end
+
+Types::Clusters::AgentType.prepend_mod
diff --git a/doc/administration/load_balancer.md b/doc/administration/load_balancer.md
index 988bddcfe62..869019a0d01 100644
--- a/doc/administration/load_balancer.md
+++ b/doc/administration/load_balancer.md
@@ -115,14 +115,18 @@ Configure DNS for an alternate SSH hostname such as `altssh.gitlab.example.com`.
It is strongly recommend that multi-node deployments configure load balancers to use the [readiness check](../user/admin_area/monitoring/health_check.md#readiness) to ensure a node is ready to accept traffic, before routing traffic to it. This is especially important when utilizing Puma, as there is a brief period during a restart where Puma doesn't accept requests.
-
+If you are using [AWS's Classic Load Balancer](https://docs.aws.amazon.com/en_en/elasticloadbalancing/latest/classic/elb-ssl-security-policy.html#ssl-ciphers)
+in GitLab 15.0 or later, you must to enable the `AES256-GCM-SHA384` cipher in NGINX.
+See [AES256-GCM-SHA384 SSL cipher no longer allowed by default by NGINX](https://docs.gitlab.com/omnibus/update/gitlab_15_changes.html#aes256-gcm-sha384-ssl-cipher-no-longer-allowed-by-default-by-nginx)
+for more information.
+
+The default ciphers for a GitLab version can be
+viewed in the [`files/gitlab-cookbooks/gitlab/attributes/default.rb`](https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/master/files/gitlab-cookbooks/gitlab/attributes/default.rb)
+file and selecting the Git tag that correlates with your target GitLab version
+(for example `15.0.5+ee.0`). If required by your load balancer, you can then define
+[custom SSL ciphers](https://docs.gitlab.com/omnibus/settings/nginx.html#using-custom-ssl-ciphers)
+for NGINX.
diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md
index 3c6455c5178..a5075336101 100644
--- a/doc/administration/reference_architectures/10k_users.md
+++ b/doc/administration/reference_architectures/10k_users.md
@@ -142,10 +142,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/1k_users.md b/doc/administration/reference_architectures/1k_users.md
index 1a774603863..96b1e541f92 100644
--- a/doc/administration/reference_architectures/1k_users.md
+++ b/doc/administration/reference_architectures/1k_users.md
@@ -72,10 +72,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md
index 331dde19994..59ce0ce072b 100644
--- a/doc/administration/reference_architectures/25k_users.md
+++ b/doc/administration/reference_architectures/25k_users.md
@@ -142,10 +142,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/2k_users.md b/doc/administration/reference_architectures/2k_users.md
index 435d4c92b74..a0a2f7e4b85 100644
--- a/doc/administration/reference_architectures/2k_users.md
+++ b/doc/administration/reference_architectures/2k_users.md
@@ -78,10 +78,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md
index 80c725971cb..bf9b9f47c16 100644
--- a/doc/administration/reference_architectures/3k_users.md
+++ b/doc/administration/reference_architectures/3k_users.md
@@ -148,10 +148,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md
index 2be706e4b56..9a086f173d7 100644
--- a/doc/administration/reference_architectures/50k_users.md
+++ b/doc/administration/reference_architectures/50k_users.md
@@ -142,10 +142,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md
index 9bfc0eb42c7..5301d55300f 100644
--- a/doc/administration/reference_architectures/5k_users.md
+++ b/doc/administration/reference_architectures/5k_users.md
@@ -145,10 +145,12 @@ Before starting, you should take note of the following requirements / guidance f
This reference architecture was built and tested on Google Cloud Platform (GCP) using the
[Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
-CPU platform. On different hardware you may find that adjustments, either lower
-or higher, are required for your CPU or node counts. For more information, see
-our [Sysbench](https://github.com/akopytov/sysbench)-based
-[CPU benchmarks](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+CPU platform as a baseline ([Sysbench benchmark](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)).
+
+Newer, similarly sized CPUs are supported and may have improved performance as a result. For Omnibus environments, ARM-based equivalents are also supported.
+
+NOTE:
+Any "burstable" instance types are not recommended due to inconsistent performance.
### Supported infrastructure
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 5a52df38970..5a33b2ebc44 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -10387,6 +10387,7 @@ GitLab CI/CD configuration template.
| `name` | [`String`](#string) | Name of the cluster agent. |
| `project` | [`Project`](#project) | Project this cluster agent is associated with. |
| `updatedAt` | [`Time`](#time) | Timestamp the cluster agent was updated. |
+| `vulnerabilityImages` | [`VulnerabilityContainerImageConnection`](#vulnerabilitycontainerimageconnection) | Container images reported on the agent vulnerabilities. (see [Connections](#connections)) |
| `webPath` | [`String`](#string) | Web path of the cluster agent. |
#### Fields with arguments
diff --git a/doc/user/project/import/svn.md b/doc/user/project/import/svn.md
index b88abf91ae1..97ea889e36f 100644
--- a/doc/user/project/import/svn.md
+++ b/doc/user/project/import/svn.md
@@ -5,30 +5,21 @@ group: Import
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# Migrating from SVN to GitLab **(FREE)**
+# Migrate from Subversion to GitLab **(FREE)**
-Subversion (SVN) is a central version control system (VCS) while
-Git is a distributed version control system. There are some major differences
-between the two, for more information consult your favorite search engine.
+GitLab uses Git as its version control system. If you're using Subversion (SVN) as your version control system,
+you can migrate to using a Git repository in GitLab in two ways:
-There are two approaches to SVN to Git migration:
+- Using SubGit to set up a temporary mirror of the SVN repository for GitLab. You can use the SVN repository and the Git
+ repository at the same time, and check everything functions properly before removing access to the SVN repository and
+ shutting down the mirror.
+- Using `svn2git` to migrate immediately from SVN to Git. You stop using SVN, migrate the SVN repository, then
+ start using the Git repository in GitLab.
-- [Git/SVN Mirror](#smooth-migration-with-a-gitsvn-mirror-using-subgit) which:
- - Makes the GitLab repository to mirror the SVN project.
- - Git and SVN repositories are kept in sync; you can use either one.
- - Smoothens the migration process and allows you to manage migration risks.
+## Migrate using SubGit
-- [Cut over migration](#cut-over-migration-with-svn2git) which:
- - Translates and imports the existing data and history from SVN to Git.
- - Is a fire and forget approach, good for smaller teams.
-
-## Smooth migration with a Git/SVN mirror using SubGit
-
-[SubGit](https://subgit.com) is a tool for a smooth, stress-free SVN to Git
-migration. It creates a writable Git mirror of a local or remote Subversion
-repository and that way you can use both Subversion and Git as long as you like.
-It requires access to your GitLab server as it talks with the Git repositories
-directly in a file system level.
+[SubGit](https://subgit.com) creates a writable Git mirror of a local or remote SVN repository. SubGit requires access
+to your GitLab server because it accesses the Git repositories directly at the file-system level.
### SubGit prerequisites
@@ -110,7 +101,7 @@ source, academic and startup projects.
For any questions related to SVN to GitLab migration with SubGit, you can
contact the SubGit team directly at [support@subgit.com](mailto:support@subgit.com).
-## Cut over migration with svn2git
+## Migrate using `svn2git`
NOTE:
Any issues with svn2git should be directed to the [relevant project and maintainer](https://github.com/nirvdrum/svn2git).
@@ -183,8 +174,3 @@ git remote add origin git@gitlab.com:/.git
git push --all origin
git push --tags origin
```
-
-## Contribute to this guide
-
-We welcome all contributions that would expand this guide with instructions on
-how to migrate from SVN and other version control systems.
diff --git a/lib/gitlab/ci/parsers/security/common.rb b/lib/gitlab/ci/parsers/security/common.rb
index 13a159f3745..c0ccf69666d 100644
--- a/lib/gitlab/ci/parsers/security/common.rb
+++ b/lib/gitlab/ci/parsers/security/common.rb
@@ -7,16 +7,16 @@ module Gitlab
class Common
SecurityReportParserError = Class.new(Gitlab::Ci::Parsers::ParserError)
- def self.parse!(json_data, report, vulnerability_finding_signatures_enabled = false, validate: false)
- new(json_data, report, vulnerability_finding_signatures_enabled, validate: validate).parse!
+ def self.parse!(json_data, report, signatures_enabled: false, validate: false)
+ new(json_data, report, signatures_enabled: signatures_enabled, validate: validate).parse!
end
- def initialize(json_data, report, vulnerability_finding_signatures_enabled = false, validate: false)
+ def initialize(json_data, report, signatures_enabled: false, validate: false)
@json_data = json_data
@report = report
@project = report.project
@validate = validate
- @vulnerability_finding_signatures_enabled = vulnerability_finding_signatures_enabled
+ @signatures_enabled = signatures_enabled
end
def parse!
@@ -119,7 +119,7 @@ module Gitlab
evidence = create_evidence(data['evidence'])
signatures = create_signatures(tracking_data(data))
- if @vulnerability_finding_signatures_enabled && !signatures.empty?
+ if @signatures_enabled && !signatures.empty?
# NOT the signature_sha - the compare key is hashed
# to create the project_fingerprint
highest_priority_signature = signatures.max_by(&:priority)
@@ -149,7 +149,7 @@ module Gitlab
details: data['details'] || {},
signatures: signatures,
project_id: @project.id,
- vulnerability_finding_signatures_enabled: @vulnerability_finding_signatures_enabled))
+ vulnerability_finding_signatures_enabled: @signatures_enabled))
end
def create_signatures(tracking)
diff --git a/spec/graphql/types/clusters/agent_type_spec.rb b/spec/graphql/types/clusters/agent_type_spec.rb
index 3f4faccf15d..bb1006c55c0 100644
--- a/spec/graphql/types/clusters/agent_type_spec.rb
+++ b/spec/graphql/types/clusters/agent_type_spec.rb
@@ -9,5 +9,5 @@ RSpec.describe GitlabSchema.types['ClusterAgent'] do
it { expect(described_class).to require_graphql_authorizations(:read_cluster) }
- it { expect(described_class).to have_graphql_fields(fields) }
+ it { expect(described_class).to include_graphql_fields(*fields) }
end
diff --git a/spec/lib/gitlab/ci/parsers/security/common_spec.rb b/spec/lib/gitlab/ci/parsers/security/common_spec.rb
index 6495d1f654b..6aa82e7e25c 100644
--- a/spec/lib/gitlab/ci/parsers/security/common_spec.rb
+++ b/spec/lib/gitlab/ci/parsers/security/common_spec.rb
@@ -16,7 +16,7 @@ RSpec.describe Gitlab::Ci::Parsers::Security::Common do
}
end
- where(vulnerability_finding_signatures_enabled: [true, false])
+ where(signatures_enabled: [true, false])
with_them do
let_it_be(:pipeline) { create(:ci_pipeline) }
@@ -44,7 +44,7 @@ RSpec.describe Gitlab::Ci::Parsers::Security::Common do
let(:validator_class) { Gitlab::Ci::Parsers::Security::Validators::SchemaValidator }
let(:data) { {}.merge(scanner_data) }
let(:json_data) { data.to_json }
- let(:parser) { described_class.new(json_data, report, vulnerability_finding_signatures_enabled, validate: validate) }
+ let(:parser) { described_class.new(json_data, report, signatures_enabled: signatures_enabled, validate: validate) }
subject(:parse_report) { parser.parse! }
@@ -191,7 +191,7 @@ RSpec.describe Gitlab::Ci::Parsers::Security::Common do
context 'report parsing' do
before do
- artifact.each_blob { |blob| described_class.parse!(blob, report, vulnerability_finding_signatures_enabled) }
+ artifact.each_blob { |blob| described_class.parse!(blob, report, signatures_enabled: signatures_enabled) }
end
describe 'parsing finding.name' do
@@ -465,7 +465,7 @@ RSpec.describe Gitlab::Ci::Parsers::Security::Common do
finding = report.findings.first
highest_signature = finding.signatures.max_by(&:priority)
- identifiers = if vulnerability_finding_signatures_enabled
+ identifiers = if signatures_enabled
"#{finding.report_type}-#{finding.primary_identifier.fingerprint}-#{highest_signature.signature_hex}-#{report.project_id}"
else
"#{finding.report_type}-#{finding.primary_identifier.fingerprint}-#{finding.location.fingerprint}-#{report.project_id}"
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 320e9e0cd66..97b5133d4e6 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -3464,7 +3464,8 @@ RSpec.describe API::MergeRequests do
context 'when merge request branch does not allow force push' do
before do
- create(:protected_branch, project: project, name: merge_request.source_branch, allow_force_push: false)
+ create_params = { name: merge_request.source_branch, allow_force_push: false, merge_access_levels_attributes: [{ access_level: Gitlab::Access::DEVELOPER }] }
+ ProtectedBranches::CreateService.new(project, project.first_owner, create_params).execute
end
it 'returns 403' do
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index 1d3b34f8ebf..6c9e0944c54 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -9499,143 +9499,6 @@
- './spec/routing/projects/security/configuration_controller_routing_spec.rb'
- './spec/routing/routing_spec.rb'
- './spec/routing/uploads_routing_spec.rb'
-- './spec/rubocop/code_reuse_helpers_spec.rb'
-- './spec/rubocop/cop/active_model_errors_direct_manipulation_spec.rb'
-- './spec/rubocop/cop/active_record_association_reload_spec.rb'
-- './spec/rubocop/cop/api/base_spec.rb'
-- './spec/rubocop/cop/api/grape_array_missing_coerce_spec.rb'
-- './spec/rubocop/cop/avoid_becomes_spec.rb'
-- './spec/rubocop/cop/avoid_break_from_strong_memoize_spec.rb'
-- './spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb'
-- './spec/rubocop/cop/avoid_return_from_blocks_spec.rb'
-- './spec/rubocop/cop/avoid_route_redirect_leading_slash_spec.rb'
-- './spec/rubocop/cop/ban_catch_throw_spec.rb'
-- './spec/rubocop/cop/code_reuse/finder_spec.rb'
-- './spec/rubocop/cop/code_reuse/presenter_spec.rb'
-- './spec/rubocop/cop/code_reuse/serializer_spec.rb'
-- './spec/rubocop/cop/code_reuse/service_class_spec.rb'
-- './spec/rubocop/cop/code_reuse/worker_spec.rb'
-- './spec/rubocop/cop/database/disable_referential_integrity_spec.rb'
-- './spec/rubocop/cop/database/establish_connection_spec.rb'
-- './spec/rubocop/cop/database/multiple_databases_spec.rb'
-- './spec/rubocop/cop/database/rescue_query_canceled_spec.rb'
-- './spec/rubocop/cop/database/rescue_statement_timeout_spec.rb'
-- './spec/rubocop/cop/default_scope_spec.rb'
-- './spec/rubocop/cop/destroy_all_spec.rb'
-- './spec/rubocop/cop/file_decompression_spec.rb'
-- './spec/rubocop/cop/filename_length_spec.rb'
-- './spec/rubocop/cop/gemspec/avoid_executing_git_spec.rb'
-- './spec/rubocop/cop/gitlab/avoid_feature_category_not_owned_spec.rb'
-- './spec/rubocop/cop/gitlab/avoid_uploaded_file_from_params_spec.rb'
-- './spec/rubocop/cop/gitlab/bulk_insert_spec.rb'
-- './spec/rubocop/cop/gitlab/change_timezone_spec.rb'
-- './spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb'
-- './spec/rubocop/cop/gitlab/delegate_predicate_methods_spec.rb'
-- './spec/rubocop/cop/gitlab/deprecate_track_redis_hll_event_spec.rb'
-- './spec/rubocop/cop/gitlab/duplicate_spec_location_spec.rb'
-- './spec/rubocop/cop/gitlab/event_store_subscriber_spec.rb'
-- './spec/rubocop/cop/gitlab/except_spec.rb'
-- './spec/rubocop/cop/gitlab/feature_available_usage_spec.rb'
-- './spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb'
-- './spec/rubocop/cop/gitlab/httparty_spec.rb'
-- './spec/rubocop/cop/gitlab/intersect_spec.rb'
-- './spec/rubocop/cop/gitlab/json_spec.rb'
-- './spec/rubocop/cop/gitlab/mark_used_feature_flags_spec.rb'
-- './spec/rubocop/cop/gitlab/module_with_instance_variables_spec.rb'
-- './spec/rubocop/cop/gitlab/namespaced_class_spec.rb'
-- './spec/rubocop/cop/gitlab/policy_rule_boolean_spec.rb'
-- './spec/rubocop/cop/gitlab/predicate_memoization_spec.rb'
-- './spec/rubocop/cop/gitlab/rails_logger_spec.rb'
-- './spec/rubocop/cop/gitlab/union_spec.rb'
-- './spec/rubocop/cop/graphql/authorize_types_spec.rb'
-- './spec/rubocop/cop/graphql/descriptions_spec.rb'
-- './spec/rubocop/cop/graphql/gid_expected_type_spec.rb'
-- './spec/rubocop/cop/graphql/graphql_name_position_spec.rb'
-- './spec/rubocop/cop/graphql/id_type_spec.rb'
-- './spec/rubocop/cop/graphql/json_type_spec.rb'
-- './spec/rubocop/cop/graphql/old_types_spec.rb'
-- './spec/rubocop/cop/graphql/resolver_type_spec.rb'
-- './spec/rubocop/cop/group_public_or_visible_to_user_spec.rb'
-- './spec/rubocop/cop/ignored_columns_spec.rb'
-- './spec/rubocop/cop/include_sidekiq_worker_spec.rb'
-- './spec/rubocop/cop/inject_enterprise_edition_module_spec.rb'
-- './spec/rubocop/cop/lint/last_keyword_argument_spec.rb'
-- './spec/rubocop/cop/migration/add_columns_to_wide_tables_spec.rb'
-- './spec/rubocop/cop/migration/add_column_with_default_spec.rb'
-- './spec/rubocop/cop/migration/add_concurrent_foreign_key_spec.rb'
-- './spec/rubocop/cop/migration/add_concurrent_index_spec.rb'
-- './spec/rubocop/cop/migration/add_index_spec.rb'
-- './spec/rubocop/cop/migration/add_limit_to_text_columns_spec.rb'
-- './spec/rubocop/cop/migration/add_reference_spec.rb'
-- './spec/rubocop/cop/migration/add_timestamps_spec.rb'
-- './spec/rubocop/cop/migration/background_migration_base_class_spec.rb'
-- './spec/rubocop/cop/migration/background_migration_record_spec.rb'
-- './spec/rubocop/cop/migration/background_migrations_spec.rb'
-- './spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb'
-- './spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb'
-- './spec/rubocop/cop/migration/datetime_spec.rb'
-- './spec/rubocop/cop/migration/drop_table_spec.rb'
-- './spec/rubocop/cop/migration/migration_record_spec.rb'
-- './spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb'
-- './spec/rubocop/cop/migration/prevent_index_creation_spec.rb'
-- './spec/rubocop/cop/migration/prevent_strings_spec.rb'
-- './spec/rubocop/cop/migration/refer_to_index_by_name_spec.rb'
-- './spec/rubocop/cop/migration/remove_column_spec.rb'
-- './spec/rubocop/cop/migration/remove_concurrent_index_spec.rb'
-- './spec/rubocop/cop/migration/remove_index_spec.rb'
-- './spec/rubocop/cop/migration/safer_boolean_column_spec.rb'
-- './spec/rubocop/cop/migration/schedule_async_spec.rb'
-- './spec/rubocop/cop/migration/sidekiq_queue_migrate_spec.rb'
-- './spec/rubocop/cop/migration/timestamps_spec.rb'
-- './spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
-- './spec/rubocop/cop/migration/versioned_migration_class_spec.rb'
-- './spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb'
-- './spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb'
-- './spec/rubocop/cop/performance/active_record_subtransaction_methods_spec.rb'
-- './spec/rubocop/cop/performance/active_record_subtransactions_spec.rb'
-- './spec/rubocop/cop/performance/ar_count_each_spec.rb'
-- './spec/rubocop/cop/performance/ar_exists_and_present_blank_spec.rb'
-- './spec/rubocop/cop/performance/readlines_each_spec.rb'
-- './spec/rubocop/cop/prefer_class_methods_over_module_spec.rb'
-- './spec/rubocop/cop/project_path_helper_spec.rb'
-- './spec/rubocop/cop/put_group_routes_under_scope_spec.rb'
-- './spec/rubocop/cop/put_project_routes_under_scope_spec.rb'
-- './spec/rubocop/cop/qa/ambiguous_page_object_name_spec.rb'
-- './spec/rubocop/cop/qa/element_with_pattern_spec.rb'
-- './spec/rubocop/cop/qa/selector_usage_spec.rb'
-- './spec/rubocop/cop/rspec/any_instance_of_spec.rb'
-- './spec/rubocop/cop/rspec/be_success_matcher_spec.rb'
-- './spec/rubocop/cop/rspec/env_assignment_spec.rb'
-- './spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb'
-- './spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb'
-- './spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb'
-- './spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb'
-- './spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb'
-- './spec/rubocop/cop/rspec/modify_sidekiq_middleware_spec.rb'
-- './spec/rubocop/cop/rspec/timecop_freeze_spec.rb'
-- './spec/rubocop/cop/rspec/timecop_travel_spec.rb'
-- './spec/rubocop/cop/rspec/top_level_describe_path_spec.rb'
-- './spec/rubocop/cop/rspec/web_mock_enable_spec.rb'
-- './spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb'
-- './spec/rubocop/cop/safe_params_spec.rb'
-- './spec/rubocop/cop/scalability/bulk_perform_with_context_spec.rb'
-- './spec/rubocop/cop/scalability/cron_worker_context_spec.rb'
-- './spec/rubocop/cop/scalability/file_uploads_spec.rb'
-- './spec/rubocop/cop/scalability/idempotent_worker_spec.rb'
-- './spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb'
-- './spec/rubocop/cop/sidekiq_options_queue_spec.rb'
-- './spec/rubocop/cop/static_translation_definition_spec.rb'
-- './spec/rubocop/cop/style/regexp_literal_mixed_preserve_spec.rb'
-- './spec/rubocop/cop_todo_spec.rb'
-- './spec/rubocop/cop/usage_data/distinct_count_by_large_foreign_key_spec.rb'
-- './spec/rubocop/cop/usage_data/histogram_with_large_table_spec.rb'
-- './spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb'
-- './spec/rubocop/cop/usage_data/large_table_spec.rb'
-- './spec/rubocop/cop/user_admin_spec.rb'
-- './spec/rubocop/formatter/todo_formatter_spec.rb'
-- './spec/rubocop/migration_helpers_spec.rb'
-- './spec/rubocop/qa_helpers_spec.rb'
-- './spec/rubocop/todo_dir_spec.rb'
- './spec/scripts/changed-feature-flags_spec.rb'
- './spec/scripts/determine-qa-tests_spec.rb'
- './spec/scripts/failed_tests_spec.rb'