Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-08-24 09:11:55 +00:00
parent ee3e134b76
commit 0086677f7c
16 changed files with 83 additions and 212 deletions

View File

@ -71,3 +71,5 @@ module Types
end
end
end
Types::Clusters::AgentType.prepend_mod

View File

@ -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.
<!-- ## Troubleshooting
## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
### The health check is returning a `408` HTTP code via the load balancer
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -10387,6 +10387,7 @@ GitLab CI/CD configuration template.
| <a id="clusteragentname"></a>`name` | [`String`](#string) | Name of the cluster agent. |
| <a id="clusteragentproject"></a>`project` | [`Project`](#project) | Project this cluster agent is associated with. |
| <a id="clusteragentupdatedat"></a>`updatedAt` | [`Time`](#time) | Timestamp the cluster agent was updated. |
| <a id="clusteragentvulnerabilityimages"></a>`vulnerabilityImages` | [`VulnerabilityContainerImageConnection`](#vulnerabilitycontainerimageconnection) | Container images reported on the agent vulnerabilities. (see [Connections](#connections)) |
| <a id="clusteragentwebpath"></a>`webPath` | [`String`](#string) | Web path of the cluster agent. |
#### Fields with arguments

View File

@ -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:<group>/<project>.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.

View File

@ -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)

View File

@ -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

View File

@ -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}"

View File

@ -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

View File

@ -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'